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_NVC2PL constructs a SPICE plane from a normal vector and a point
   on the plane.



      normal   [3,1] = size(normal); double = class(normal)

      point    [3,1] = size(point); double = class(point)

               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:

      plane = cspice_nvp2pl( normal, point )


      plane   a structure describing a SPICE plane defined by
              'normal' and 'point'

              [1,1] = size(plane); struct = class(plane)

              The structure has the fields:

                 normal:     [3,1] = size(normal); double = class(normal)
                 constant:   [1,1] = size(constant); double = class(constant)


   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.;  5.;   -3.5 ];
      point  = [  9.; -0.65; -12. ];

      % Create a plane from the vectors.
      plane = cspice_nvp2pl( normal, point );

      % Calculate a point in the plane, and
      % two spanning vectors in the plane such that
      % the point and spanning are mutually orthogonal.
      [point, span1, span2] = cspice_pl2psv( plane )

      % Test point, span1, and span2 orthogonality. The dot
      % products of any two vectors should equal zero to
      % within round-off.
      fprintf( 'dot( point, span1) = %18.15e\n', dot( point, span1) )
      fprintf( 'dot( point, span2) = %18.15e\n', dot( point, span2) )
      fprintf( 'dot( span1, span2) = %18.15e\n', dot( span1, span2) )

    Matlab outputs:

        point =


        span1 =


        span2 =


        dot( point, span1) = 0.000000000000000e+00
        dot( point, span2) = 5.551115123125783e-17
        dot( span1, span2) = 0.000000000000000e+00


   Mice 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 Mice 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 Mice 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

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



   -Mice Version 1.0.1, 27-AUG-2012, EDW (JPL)

      Edited I/O section to conform to NAIF standard for Mice documentation.

   -Mice Version 1.0.0, 30-DEC-2008, EDW (JPL)


   normal vector and point to plane

Wed Apr  5 18:00:33 2017