Index of Functions: A B C D E F G H I J K L M N O P Q R S T U V W X
Index Page psv2pl_c

Table of contents

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

       psv2pl_c ( Point and spanning vectors to plane )

       void psv2pl_c ( ConstSpiceDouble    point[3],
                       ConstSpiceDouble    span1[3],
                       ConstSpiceDouble    span2[3],
                       SpicePlane        * plane    )

#### Abstract

       Make a SPICE 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 SPICE 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 SPICE plane that represents the geometric
                   plane defined by `point', `span1', and `span2'.

#### Parameters

       None.

#### Exceptions

       1)  If `span1' and `span2' are linearly dependent, i.e. 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 routine interfaces simpler and more uniform.

       The CSPICE routines that produce SPICE 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 SPICE 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]  G. Thomas and R. Finney, "Calculus and Analytic Geometry,"
            7th Edition, Addison Wesley, 1988.

#### Author_and_Institution

       N.J. Bachman        (JPL)
       J. Diaz del Rio     (ODC Space)

#### Version

       -CSPICE Version 1.0.1, 24-AUG-2021 (JDR)

           Edited the header to comply with NAIF standard.

       -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

    Fri Dec 31 18:41:10 2021