| surfnm_c |
|
Table of contents
Procedure
surfnm_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_Input
a 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_Output
normal is the unit vector pointing away from the ellipsoid and
normal to the ellipsoid at `point'.
ParametersNone. Exceptions
1) 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'. Examples
A 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 );
Restrictions
1) 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