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

 Procedure Abstract Required_Reading Keywords Brief_I/O Detailed_Input Detailed_Output Parameters Exceptions Files Particulars Examples Restrictions Literature_References Author_and_Institution Version Index_Entries

Procedure

nvp2pl_c ( Normal vector and point to plane )

void nvp2pl_c ( ConstSpiceDouble    normal[3],
ConstSpiceDouble    point [3],
SpicePlane        * plane     )

Abstract

Make a SPICE plane from a normal vector and a point.

PLANES

GEOMETRY
MATH
PLANE

Brief_I/O

VARIABLE  I/O  DESCRIPTION
--------  ---  --------------------------------------------------
normal,
point      I   A normal vector and a point defining a plane.
plane      O   A SPICE plane structure representing the plane.

Detailed_Input

normal,
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.

Detailed_Output

plane       is a SPICE plane structure that represents the
geometric plane defined by point and normal.

None.

Exceptions

1)  If the input vector `normal' is the zero vector, the error
SPICE(ZEROVECTOR) is signaled.

None.

Particulars

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

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

nvc2pl_c ( Normal vector and constant to plane )
nvp2pl_c ( Normal vector and point to plane    )
psv2pl_c ( Point and spanning vectors to plane )

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

pl2nvc_c ( Plane to normal vector and constant )
pl2nvp_c ( Plane to normal vector and point    )
pl2psv_c ( 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.

Examples

1)  Project a vector v orthogonally onto a plane defined by point
and normal. proj is the projection we want; it is the
closest vector in the plane to v.

nvp2pl_c ( normal,  point,   &plane );
vprjp_c  ( v,       &plane,  proj   );

2)  Given a point in a plane and a normal vector, find the
distance of the plane from the origin. We make a
`plane' from the point and normal, then convert the
plane to a unit normal and constant. The output constant
is (according to the specification of pl2nvc_c) the distance of
the plane from the origin.

nvp2pl_c ( normal,  point,  &plane   );
pl2nvc_c ( &plane,  normal, constant );

None.

Literature_References

[1]  G. Thomas and R. Finney, "Calculus and Analytic Geometry,"

Author_and_Institution

N.J. Bachman        (JPL)
J. Diaz del Rio     (ODC Space)

Version

-CSPICE Version 1.0.1, 24-AUG-2021 (JDR)

Edited the header to comply with NAIF standard.

-CSPICE Version 1.0.0, 05-MAR-1999 (NJB)

Index_Entries

normal vector and point to plane
Fri Dec 31 18:41:10 2021