Index Page vperp_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 vperp_c ( ConstSpiceDouble   a[3],
                      ConstSpiceDouble   b[3],
                      SpiceDouble        p[3] )

#### Abstract

       Find the component of a vector that is perpendicular to a second
       vector.  All vectors are 3-dimensional.

#### Required_Reading

       None.

#### Keywords

       VECTOR

#### Brief_I/O

       VARIABLE  I/O  DESCRIPTION
       --------  ---  --------------------------------------------------
        a         I    The vector whose orthogonal component is sought.
        b         I    The vector used as the orthogonal reference.
        p         O    The component of a orthogonal to b.

#### Detailed_Input

       a     is a double precision, 3-dimensional vector.  It the vector
             whose component orthogonal to b is sought. (There is a
             unique decomposition of a into a sum v + p, where v is
             parallel to b and p is orthogonal to b.  We want the
             component p.)

       b     is a double precision, 3-dimensional vector.  This
             vector is the vector used as a reference for the
             decomposition of a.

#### Detailed_Output

       p     is a double precision, 3-dimensional vector containing
             the component of a that is orthogonal to b.
             p may overwrite either a or b.

#### Parameters

       None.

#### Exceptions

       Error free.

#### Files

       None.

#### Particulars

       Given and non-zero vector b and a vector a, there is a unique
       decomposition of a as a sum v + p such that p is orthogonal
       to b and v is parallel to b.  This routine finds the vector p.

       If b is a zero vector, p will be identical to a.

#### Examples

       The following table gives sample inputs and results from calling
       vperp_c.

       a                  b                 p
       ------------------------------------------
       (6, 6, 6)      ( 2, 0, 0)        (0, 6, 6)
       (6, 6, 6)      (-3, 0, 0)        (0, 6, 6)
       (6, 6, 0)      ( 0, 7, 0)        (6, 0, 0)
       (6, 0, 0)      ( 0, 0, 9)        (6, 0, 0)

#### Restrictions

       None.

#### Literature_References

       REFERENCE: Any reasonable calculus text (for example Thomas)

#### Author_and_Institution

       W.L. Taber      (JPL)

#### Version

       -CSPICE Version 1.2.1, 24-APR-2010 (EDW)

          Minor edit to code comments eliminating typo.

       -CSPICE Version 1.2.0, 22-OCT-1998 (NJB)

          Made input vectors const.

       -CSPICE Version 1.1.0, 06-MAR-1998   (EDW)

          Removed non printing character.

       -CSPICE Version 1.0.0, 08-FEB-1998   (EDW)

#### Index_Entries

       perpendicular component of a 3-vector

#### Link to routine vperp_c source file vperp_c.c

    Wed Apr  5 17:54:47 2017