frame_c |

## Procedurevoid frame_c ( SpiceDouble x[3], SpiceDouble y[3], SpiceDouble z[3] ) ## AbstractGiven a vector x, this routine builds a right handed orthonormal frame x,y,z where the output x is parallel to the input x. ## Required_ReadingNone. ## KeywordsAXES, FRAME ## Brief_I/OVARIABLE I/O DESCRIPTION -------- --- ------------------------------------------------ x I/O Input vector. A parallel unit vector on output. y O Unit vector in the plane orthogonal to x. z O Unit vector given by x X y. ## Detailed_Inputx This vector is used to form the first vector of a right-handed orthonormal triple. ## Detailed_Outputx, y, z form a right handed orthonormal frame, where x is now a unit vector parallel to the original input vector x. There are no special geometric properties connected to y and z (other than that they complete the right handed frame). ## ParametersNone. ## ExceptionsError Free. 1) If x on input is the zero vector the ``standard'' frame (ijk) is returned. ## FilesNone. ## ParticularsGiven an input vector x, this routine returns unit vectors x, y, and z such that xyz forms a right-handed orthonormal frame where the output x is parallel to the input x. This routine is intended primarily to provide a basis for the plane orthogonal to x. There are no special properties associated with y and z other than that the resulting xyz frame is right handed and orthonormal. There are an infinite collection of pairs (y,z) that could be used to this end. Even though for a given x, y and z are uniquely determined, users should regard the pair (y,z) as a random selection from this infinite collection. For instance, when attempting to determine the locus of points that make up the limb of a triaxial body, it is a straightforward matter to determine the normal to the limb plane. To find the actual parametric equation of the limb one needs to have a basis of the plane. This routine can be used to get a basis in which one can describe the curve and from which one can then determine the principal axes of the limb ellipse. ## ExamplesIn addition to using a vector to construct a right handed frame with the x-axis aligned with the input vector, one can construct right handed frames with any of the axes aligned with the input vector. For example suppose we want a right hand frame xyz with the z-axis aligned with some vector v. Assign v to z z[0] = v[0]; z[1] = v[1]; z[2] = v[2]; Then call ## RestrictionsNone. ## Literature_ReferencesNone. ## Author_and_InstitutionW.L. Taber (JPL) I.M. Underwood (JPL) ## Version-CSPICE Version 1.0.0, 26-MAR-1999 (NJB) ## Index_Entriesbuild a right handed coordinate frame |

Wed Apr 5 17:54:35 2017