surfnm_c |
Table of contents
Proceduresurfnm_c ( Surface normal vector on an ellipsoid ) void surfnm_c ( SpiceDouble a, SpiceDouble b, SpiceDouble c, ConstSpiceDouble point[3], SpiceDouble normal[3] ) AbstractCompute the outward-pointing, unit normal vector at a point on the surface of an ellipsoid. Required_ReadingNone. KeywordsELLIPSOID GEOMETRY Brief_I/OVARIABLE I/O DESCRIPTION -------- --- -------------------------------------------------- a I Length of the ellipsoid semi-axis along the X-axis. b I Length of the ellipsoid semi-axis along the Y-axis. c I Length of the ellipsoid semi-axis along the Z-axis. point I Body-fixed coordinates of a point on the ellipsoid. normal O Outward pointing unit normal to ellipsoid at `point'. Detailed_Inputa is the length of the semi-axis of the ellipsoid that is parallel to the X-axis of the body-fixed reference frame. b is the length of the semi-axis of the ellipsoid that is parallel to the Y-axis of the body-fixed reference frame. c is the length of the semi-axis of the ellipsoid that is parallel to the Z-axis of the body-fixed reference frame. point is a 3-vector giving the bodyfixed coordinates of a point on the ellipsoid. In bodyfixed coordinates, the semi-axes of the ellipsoid are aligned with the X, Y, and Z-axes of the reference frame. Detailed_Outputnormal is the unit vector pointing away from the ellipsoid and normal to the ellipsoid at `point'. ParametersNone. Exceptions1) If any of the axes are non-positive, the error SPICE(BADAXISLENGTH) is signaled by a routine in the call tree of this routine. FilesNone. ParticularsThis routine computes the outward pointing unit normal vector to the ellipsoid having semi-axes of length `a', `b', and `c' from the point `point'. ExamplesA typical use of surfnm_c would be to find the angle of incidence of the light from the sun at a point on the surface of an ellipsoid. Let q be a 3-vector representing the rectangular body-fixed coordinates of a point on the ellipsoid (we are assuming that the axes of the ellipsoid are aligned with the axes of the body fixed frame.) Let v be the vector from q to the sun in bodyfixed coordinates. Then the following code fragment could be used to compute angle of incidence of sunlight at q. surfnm_c ( a, b, c, q, nrml ); incidn = vsep_c ( v, nrml ); Restrictions1) It is assumed that the input point is indeed on the ellipsoid. No checking for this is done. Literature_ReferencesNone. Author_and_InstitutionN.J. Bachman (JPL) J. Diaz del Rio (ODC Space) B.V. Semenov (JPL) Version-CSPICE Version 1.3.2, 01-NOV-2021 (JDR) Edited the header to comply with NAIF standard. Updated the documentation to refer to "reference frame" instead of "coordinate system" as per NAIF conventions. -CSPICE Version 1.3.1, 31-JAN-2008 (BVS) Removed '-Revisions' from the header. -CSPICE Version 1.3.0, 22-OCT-1998 (NJB) Made input vector const. -CSPICE Version 1.2.0, 08-FEB-1998 (NJB) Removed local variables used for temporary capture of outputs. -CSPICE Version 1.0.0, 25-OCT-1997 (NJB) Based on SPICELIB Version 1.2.0, 07-AUG-1996 (WLT) Index_Entriessurface normal vector on an ellipsoid |
Fri Dec 31 18:41:13 2021