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

Abstract
I/O
Examples
Particulars
Required Reading
Version
Index_Entries

Abstract


   CSPICE_VPRJPI calculates the vector in a specified plane that
   maps under orthogonal projection to a specified vector in
   another plane.

   For important details concerning this module's function, please refer to
   the CSPICE routine vprjpi_c.

I/O


   Given:

      vin      a double precision 3-vector.

      projpl   a SPICE plane structure, describing a SPICE plane that
               represents the geometric plane containing 'vin'. The structure
               has the fields:

                 normal:   [3-array double]
                 constant: [scalar double]

      invpl    a SPICE plane structure, describing a SPICE plane that
               represents the geometric plane containing the inverse image
               of 'vin' under orthogonal projection onto 'projpl'.
               The structure has the fields:

                 normal:   [3-array double]
                 constant: [scalar double]

   the call:

      cspice_vprjpi, vin, projpl, invpl, vout, found

   returns:

      vout     the double precision 3-vector inverse orthogonal projection
               of 'vin'. This is the vector lying in the plane 'invpl' whose
               orthogonal projection onto the plane 'projpl' is 'vin'. 'vout'
               is valid only when 'found' is true. Otherwise,
               'vout' is undefined.

      found    a scalar boolean flag, indicating whether the inverse orthogonal
               projection of 'vin' could be computed. 'found' is true if so,
               false otherwise.

Examples


   Any numerical results shown for this example may differ between
   platforms as the results depend on the SPICE kernels used as input
   and the machine specific arithmetic implementation.

      ;;
      ;; Construct two planes via cspice_nvc2pl. Define the normal
      ;; vectors and constants for the planes.
      ;;
      norm1 = [ 0.d, 0.d, 1.d]
      norm2 = [ 1.d, 0.d, 1.d]
      con1  = 1.2d
      con2  = 0.65d

      ;;
      ;; Use the normals and constants to create the plane structures,
      ;; plane1 and plane2.
      ;;
      cspice_nvc2pl, norm1, con1, plane1
      cspice_nvc2pl, norm2, con2, plane2

      ;;
      ;; Define a vector in plane1...
      ;;
      vec = [ 1.d, 1.d, 0.d]

      ;;
      ;; Calculate the inverse projection to plane2.
      ;;
      cspice_vprjpi, vec, plane1, plane2, vec_iproj, found

      if ( found ) then begin
         print, 'Found an inverse vector:', vec_iproj
      endif else begin
         print, 'Could not find the inverse vector.'
      endelse

   IDL outputs:

      Found an inverse vector:    1.0000000    1.0000000  -0.35000000

Particulars


   None.

Required Reading


   ICY.REQ

Version


   -Icy Version 1.0.2, 23-NOV-2010, EDW (JPL)

      Edit to example code comments and 'vec' assignment eliminating typos.

   -Icy Version 1.0.1, 02-MAY-2005, EDW (JPL)

      Corrected typo in description of 'found'.

   -Icy Version 1.0.0, 16-JUN-2003, EDW (JPL)

Index_Entries


   vector projection onto plane inverted




Wed Apr  5 17:58:04 2017