Index Page psv2pl_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 psv2pl_c ( ConstSpiceDouble    point[3],
                       ConstSpiceDouble    span1[3],
                       ConstSpiceDouble    span2[3],
                       SpicePlane        * plane    )
#### Abstract
       Make a CSPICE plane from a point and two spanning vectors.
#### Required_Reading
       PLANES
#### Keywords
       GEOMETRY
       MATH
       PLANE
#### Brief_I/O
       Variable  I/O  Description
       --------  ---  --------------------------------------------------
       point,
       span1,
       span2      I   A point and two spanning vectors defining a plane.
       plane      O   A CSPICE plane representing the plane.
#### Detailed_Input
       point,
       span1,
       span2          are, respectively, a point and two spanning vectors
                      that define a geometric plane in three-dimensional
                      space. The plane is the set of vectors

                         point   +   s * span1   +   t * span2

                      where s and t are real numbers.  The spanning
                      vectors span1 and span2 must be linearly
                      independent, but they need not be orthogonal or
                      unitized.
#### Detailed_Output
       plane          is a CSPICE plane that represents the geometric
                      plane defined by point, span1, and span2.
#### Parameters
       None.
#### Exceptions
       1)  If span1 and span2 are linearly dependent, then the vectors
           point, span1, and span2 do not define a plane.  The error
           SPICE(DEGENERATECASE) 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, span1, and span2.  proj is the projection we want; it
           is the closest vector in the plane to v.

              psv2pl_c ( point,  span1,   span2,  &plane );
              vprjp_c  ( v,      &plane,  proj           );

       2)  Find the plane determined by a spacecraft's position vector
           relative to a central body and the spacecraft's velocity
           vector.  We assume that all vectors are given in the same
           coordinate system.

              /.
              pos is the spacecraft's position, relative to
              the central body.  vel is the spacecraft's velocity
              vector.  pos is a point (vector, if you like) in
              the orbit plane, and it is also one of the spanning
              vectors of the plane.
              ./
              psv2pl_c ( pos, pos, vel, &plane );
#### 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
       point and spanning vectors to plane
#### Link to routine psv2pl_c source file psv2pl_c.c

    Wed Jun  9 13:05:28 2010