Index Page nvp2pl_c
A B C D E F G H I J K L M N O P Q R S T U V W X
Procedure Abstract Required_Reading Keywords Brief_I/O Detailed_Input | Detailed_Output Parameters Exceptions Files Particulars Examples | Restrictions Literature_References Author_and_Institution Version Index_Entries
#### Procedure
       void nvp2pl_c ( ConstSpiceDouble    normal[3],
                       ConstSpiceDouble    point [3],
                       SpicePlane        * plane     )
#### Abstract
       Make a CSPICE plane from a normal vector and a point.
#### Required_Reading
       PLANES
#### Keywords
       GEOMETRY
       MATH
       PLANE
#### Brief_I/O
       Variable  I/O  Description
       --------  ---  --------------------------------------------------
       normal,
       point      I   A normal vector and a point defining a plane.
       plane      O   A CSPICE plane structure representing the plane.
#### Detailed_Input
       normal,
       point
                      are, respectively, a normal vector and point that
                      define a plane in three-dimensional space.  normal
                      need not be a unit vector. Let the symbol < a, b >
                      indicate the inner product of vectors a and b;
                      then the geometric plane is the set of vectors x
                      in three-dimensional space that satisfy

                         < x - point, normal >  =  0.
#### Detailed_Output
       plane          is a CSPICE plane structure that represents the
                      geometric plane defined by point and normal.
#### Parameters
       None.
#### Exceptions
       1)  If the input vector normal is the zero vector, the error
           SPICE(ZEROVECTOR) is signaled.
#### Files
       None.
#### Particulars
       CSPICE geometry routines that deal with planes use the `plane'
       data type to represent input and output planes.  This data type
       makes the subroutine interfaces simpler and more uniform.

       The CSPICE routines that produce CSPICE planes from data that
       define a plane are:

          nvc2pl_c ( Normal vector and constant to plane )
          nvp2pl_c ( Normal vector and point to plane    )
          psv2pl_c ( Point and spanning vectors to plane )

       The CSPICE routines that convert CSPICE planes to data that
       define a plane are:

          pl2nvc_c ( Plane to normal vector and constant )
          pl2nvp_c ( Plane to normal vector and point    )
          pl2psv_c ( Plane to point and spanning vectors )

       Any of these last three routines may be used to convert this
       routine's output, plane, to another representation of a
       geometric plane.
#### Examples
       1)  Project a vector v orthogonally onto a plane defined by point
           and normal.  proj is the projection we want; it is the
           closest vector in the plane to v.

              nvp2pl_c ( normal,  point,   &plane );
              vprjp_c  ( v,       &plane,  proj   );

       2)  Given a point in a plane and a normal vector, find the
           distance of the plane from the origin.  We make a
           `plane' from the point and normal, then convert the
           plane to a unit normal and constant.  The output constant
           is (according to the specification of pl2nvc_c) the distance of
           the plane from the origin.

              nvp2pl_c ( normal,  point,  &plane   );
              pl2nvc_c ( &plane,  normal, constant );
#### Restrictions
       None.
#### Literature_References
       [1] `Calculus and Analytic Geometry', Thomas and Finney.
#### Author_and_Institution
       N.J. Bachman   (JPL)
#### Version
       -CSPICE Version 1.0.0, 05-MAR-1999 (NJB)
#### Index_Entries
       normal vector and point to plane
#### Link to routine nvp2pl_c source file nvp2pl_c.c

    Wed Jun  9 13:05:27 2010