Index Page vlcom_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 vlcom_c ( SpiceDouble        a,
                      ConstSpiceDouble   v1[3],
                      SpiceDouble        b,
                      ConstSpiceDouble   v2[3],
                      SpiceDouble        sum[3] )

#### Abstract

       Compute a vector linear combination of two double precision,
       3-dimensional vectors.

#### Required_Reading

       None.

#### Keywords

       VECTOR

#### Brief_I/O

       VARIABLE  I/O  DESCRIPTION
       --------  ---  --------------------------------------------------
       a          I   Coefficient of v1
       v1         I   Vector in 3-space
       b          I   Coefficient of v2
       v2         I   Vector in 3-space
       sum        O   Linear Vector Combination a*v1 + b*v2

#### Detailed_Input

       a     This double precision variable multiplies v1.
       v1    This is an arbitrary, double precision 3-dimensional
              vector.
       b     This double precision variable multiplies v2.
       v2    This is an arbitrary, double precision 3-dimensional
              vector.

#### Detailed_Output

       sum   is an arbitrary, double precision 3-dimensional vector
              which contains the linear combination a*v1 + b*v2.

#### Parameters

       None.

#### Exceptions

       Error free.

#### Files

       None

#### Particulars

       For each index from 0 to 2, this routine implements in C
       code the expression:

       sum[i] = a*v1[i] + b*v2[i]

       No error checking is performed to guard against numeric overflow.

#### Examples

       To generate a sequence of points on an ellipse with major
       and minor axis vectors major and minor, one could use the
       following code fragment

              step = twopi_c()/ n;
              ang  = 0.0;

              for ( i = 0; i < n; i++ )
                 {
                 vlcom_c ( cos(ang),major,  sin(ang),minor,  point );

                 do something with the ellipse point just constructed

                 ang = ang + step;
                 }

       As a second example, suppose that u and v are orthonormal vectors
       that form a basis of a plane. Moreover suppose that we wish to
       project a vector x onto this plane, we could use the following
       call inserts this projection into proj.

              vlcom_c ( vdot_c(x,v),v,   vdot_c(x,u),u,    proj )

#### Restrictions

       No error checking is performed to guard against numeric overflow
       or underflow.  The user is responsible for insuring that the
       input values are reasonable.

#### Literature_References

       None

#### Author_and_Institution

       W.L. Taber      (JPL)
       E.D. Wright     (JPL)

#### Version

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

          Made input vectors const.

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

#### Index_Entries

       linear combination of two 3-dimensional vectors

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

    Wed Apr  5 17:54:46 2017