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