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

#### Abstract

       vproj_c finds the projection of one vector onto another vector.
       All vectors are 3-dimensional.

#### Required_Reading

       None.

#### Keywords

       VECTOR

#### Brief_I/O

       VARIABLE  I/O  DESCRIPTION
       --------  ---  --------------------------------------------------
        a         I    The vector to be projected.
        b         I    The vector onto which a is to be projected.
        p         O    The projection of a onto b.

#### Detailed_Input

       a     is a double precision, 3-dimensional vector.  This
              vector is to be projected onto the vector b.

       b     is a double precision, 3-dimensional vector.  This
              vector is the vector which receives the projection.

#### Detailed_Output

       p     is a double precision, 3-dimensional vector containing
              the projection of a onto b.  p may overwrite either
              a or b.  (p is necessarily parallel to b.)  If b is
              the zero vector then p will be returned as the zero vector.

#### Parameters

       None.

#### Exceptions

       Error free.

#### Files

       None.

#### Particulars

       The given any vectors a and b there is a unique decomposition
       of a as a sum v + p such that v  the dot product of v and b
       is zero, and the dot product of p with b is equal the product
       of the lengths of p and b.  p is called the projection of
       a onto b.  It can be expressed mathematically as

              dot(a,b)
              -------- * b
              dot(b,b)

       (This is not necessarily the prescription used to compute
       the projection. It is intended only for descriptive purposes.)

#### Examples

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

        a                   b                        p
        --------------------------------------------------
        (6, 6, 6)      ( 2, 0, 0)                (6, 0, 0)
        (6, 6, 6)      (-3, 0, 0)                (6, 0, 0)
        (6, 6, 0)      ( 0, 7, 0)                (0, 6, 0)
        (6, 0, 0)      ( 0, 0, 9)                (0, 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.0.0, 08-FEB-1998   (EDW)

#### Index_Entries

       3-dimensional vector projection

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

    Wed Apr  5 17:54:47 2017