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.
Given:
normal a double precision 3vector
point a double precision 3vector
are, respectively, a normal vector and point that
define a plane in threedimensional 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 threedimensional space that satisfy
< x  point, normal > = 0.
the call:
cspice_nvp2pl, normal, point, plane
returns:
plane a structure representing the SPICE plane as
defined by 'normal' and 'point'. The structure has
the fields:
normal: [3array 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 roundoff.
;;
print, cspice_vdot( point, span1)
print, cspice_vdot( point, span2)
print, cspice_vdot( span1, span2)
IDL outputs for cspice_vdot( point, span1): 9.3277315e17
IDL outputs for cspice_vdot( point, span2): 6.8201565e17
IDL outputs for cspice_vdot( span1, span2): 6.2390956e18
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.
ICY.REQ
PLANES.REQ
Icy Version 1.0.2, 01SEP2010, EDW (JPL)
Edits to I/O and Examples sections so as to parallel Mice version.
Icy Version 1.0.1, 24NOV2008, EDW (JPL)
Edited header section I/O and Particulars.
Icy Version 1.0.0, 16JUN2003, EDW (JPL)
normal vector and point to plane
