CSPICE_PL2NVP returns a unit normal vector and point that define
a specified plane.
plane a structure describing a SPICE plane.
[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)
[normal, point] = cspice_pl2nvp( plane )
normal [3,1] = size(normal); double = class(normal)
point [3,1] = size(point); double = class(point)
are, respectively, a unit normal vector and point
that define the geometric plane represented by
plane. 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.
'point' is always the closest point in the input
plane to the origin. 'point' is always a
non-negative scalar multiple of 'normal'.
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.
% A trivial example of plane creation and
% decomposition. Create a plane via the definition
% of a plane normal and constant, determine a
% point in the plane.
plane_norm = [ 2.44; -5./3.; 11./9. ];
const = cspice_pi;
% Construct the SPICE plane.
plane = cspice_nvc2pl( plane_norm, const );
% Convert the plane to a normal vector, point
% representation, 'point' lies in the plane.
[ norm_vec, point ] = cspice_pl2nvp( plane )
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
For important details concerning this module's function, please refer to
the CSPICE routine pl2nvp_c.
-Mice Version 1.0.0, 27-AUG-2012, EDW (JPL)
plane to normal vector and point