halfpi_c |
Table of contents
Procedurehalfpi_c ( Half the value of pi ) SpiceDouble halfpi_c ( void ) AbstractReturn half the value of pi (the ratio of the circumference of a circle to its diameter). Required_ReadingNone. KeywordsCONSTANTS Brief_I/OThe function returns half the value of pi. Detailed_InputNone. Detailed_OutputThe function returns half the value of pi (the ratio of a circle's circumference to its diameter), determined by the ACOS function. That is, halfpi_c = acos ( -1.0 ) * 0.50 ParametersNone. ExceptionsError free. FilesNone. ParticularsThe first time the function is referenced, the value is computed as shown above. The value is saved, and returned directly upon subsequent reference. ExamplesThe numerical results shown for these examples may differ across platforms. The results depend on the SPICE kernels used as input, the compiler and supporting libraries, and the machine specific arithmetic implementation. 1) The following code example returns the double precision value of the constant pi/2.0 and prints it out. Example code begins here. /. Program halfpi_ex1 ./ #include <stdio.h> #include "SpiceUsr.h" int main () { /. Print the double precision value of pi/2.0 ./ printf( "Half pi: %25.22f\n", halfpi_c( ) ); return ( 0 ); } When this program was executed on a Mac/Intel/cc/64-bit platform, the output was: Half pi: 1.5707963267948965579990 2) Compute the transformation from inertial to body fixed coordinates, given the directions of the north pole and prime meridian of the body. When using the following values for Pluto, extracted from the PCK kernel pck00010.tpc: Right ascension (deg): 132.993 Declination (deg): -6.163 Prime meridian (deg): 302.695 at ephemeris epoch 2000 Jan 1 12:00:00 TDB, the result should match that obtained using the following call: pxform_c ( "J2000", "IAU_PLUTO", 0.0, tipm ); Use the PCK kernel below to load the triaxial ellipsoidal shape model and orientation data for Pluto. pck00010.tpc Example code begins here. /. Program halfpi_ex2 ./ #include <stdio.h> #include "SpiceUsr.h" int main ( ) { /. Compute the transformation from inertial to body fixed coordinates, given the directions of the north pole and prime meridian of the body. Local variables. ./ SpiceDouble ra; SpiceDouble dec; SpiceDouble w; SpiceDouble tipm [3][3]; /. Load the PCK. ./ furnsh_c ( "pck00010.tpc" ); /. Assign the values for Pluto, in radians. ./ ra = 132.993 * rpd_c( ); dec = -6.163 * rpd_c( ); w = 302.695 * rpd_c( ); /. The transformation is defined by the compound rotation [W] [pi/2 - Dec] [RA + pi/2] 3 1 3 ./ rotate_c ( ra + halfpi_c(), 3, tipm ); rotmat_c ( tipm, halfpi_c() - dec, 1, tipm ); rotmat_c ( tipm, w, 3, tipm ); /. Print the results ./ printf( "Rotation matrix, from pole direction " "and prime\nmeridian:\n" ); printf( " %12.6f %12.6f %12.6f\n", tipm[0][0], tipm[1][0], tipm[2][0] ); printf( " %12.6f %12.6f %12.6f\n", tipm[0][1], tipm[1][1], tipm[2][1] ); printf( " %12.6f %12.6f %12.6f\n", tipm[0][2], tipm[1][2], tipm[2][2] ); /. Use pxform_c to obtain the same transformation. ./ pxform_c ( "J2000", "IAU_PLUTO", 0.0, tipm ); printf( "\nRotation matrix, from pxform_c:\n" ); printf( " %12.6f %12.6f %12.6f\n", tipm[0][0], tipm[1][0], tipm[2][0] ); printf( " %12.6f %12.6f %12.6f\n", tipm[0][1], tipm[1][1], tipm[2][1] ); printf( " %12.6f %12.6f %12.6f\n", tipm[0][2], tipm[1][2], tipm[2][2] ); return ( 0 ); } When this program was executed on a Mac/Intel/cc/64-bit platform, the output was: Rotation matrix, from pole direction and prime meridian: -0.333489 -0.655091 -0.677968 -0.434428 -0.531449 0.727210 -0.836694 0.537045 -0.107357 Rotation matrix, from pxform_c: -0.333489 -0.655091 -0.677968 -0.434428 -0.531449 0.727210 -0.836694 0.537045 -0.107357 RestrictionsNone. Literature_ReferencesNone. Author_and_InstitutionJ. Diaz del Rio (ODC Space) E.D. Wright (JPL) Version-CSPICE Version 1.0.1, 13-AUG-2021 (JDR) Edited the header to comply with NAIF standard. Created simple example for retrieving pi/2.0 value, and converted code fragment into full example code. -CSPICE Version 1.0.0, 08-FEB-1998 (EDW) Index_Entrieshalf the value of pi |
Fri Dec 31 18:41:08 2021