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 Apr  5 17:54:39 2017