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

Required Reading


   CSPICE_NVP2PL constructs a SPICE plane from a normal vector and a point 
   on the plane.

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



      normal     a double precision 3-vector

      point      a double precision 3-vector

                 are, respectively, a normal vector and point that
                 define a plane in three-dimensional space.  normal
                 need not be a unit vector. Let the symbol < a, b >
                 indicate the inner product of vectors a and b;
                 then the geometric plane is the set of vectors x
                 in three-dimensional space that satisfy

                    < x - point, normal >  =  0.

   the call:

      cspice_nvp2pl, normal, point, plane


      plane   a structure representing the SPICE plane as
              defined by 'normal' and 'point'. The structure has
              the fields:

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


   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.

      ;; Define a normal vector from a plane and a
      ;; point in a plane.
      normal = [ -1.d,  5.d  , -3.5d ]
      point  = [  9.d, -0.65d, -12.d ]

      ;; Create a SPICE plane from the vectors.
      cspice_nvp2pl, normal, point, plane

      ;; Calculate a point in the plane, and
      ;; two spanning vectors in the plane such that
      ;; the point and spanning are mutually orthogonal.
      cspice_pl2psv, plane, point, span1, span2

      ;; Test point, span1, and span2 orthogonality. The dot
      ;; products of any two vectors should equal zero to
      ;; within round-off.
      print, cspice_vdot( point, span1)
      print, cspice_vdot( point, span2)
      print, cspice_vdot( span1, span2)

   IDL outputs for cspice_vdot( point, span1):  -9.3277315e-17

   IDL outputs for cspice_vdot( point, span2):   6.8201565e-17

   IDL outputs for cspice_vdot( span1, span2):   6.2390956e-18


   Icy geometry routines that deal with planes use the `plane'
   data type to represent input and output planes.  This data type
   makes the subroutine interfaces simpler and more uniform.

   The Icy routines that produce SPICE planes from data that
   define a plane are:

      cspice_nvc2pl ( Normal vector and constant to plane )
      cspice_nvp2pl ( Normal vector and point to plane    )
      cspice_psv2pl ( Point and spanning vectors to plane )

   The Icy routines that convert SPICE planes to data that
   define a plane are:

      cspice_pl2nvc ( Plane to normal vector and constant )
      cspice_pl2nvp ( Plane to normal vector and point    )
      cspice_pl2psv ( 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.

Required Reading



   -Icy Version 1.0.2, 01-SEP-2010, EDW (JPL)

      Edits to I/O and Examples sections so as to parallel Mice version.

   -Icy Version 1.0.1, 24-NOV-2008, EDW (JPL)

      Edited header section I/O and Particulars.

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


   normal vector and point to plane

Wed Apr  5 17:58:02 2017