| 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_Output
The 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. Examples
The 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