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

```   void nvp2pl_c ( ConstSpiceDouble    normal,
ConstSpiceDouble    point ,
SpicePlane        * plane     )

```

#### Abstract

```
Make a CSPICE 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 CSPICE 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 CSPICE 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 subroutine interfaces simpler and more uniform.

The CSPICE routines that produce CSPICE 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 CSPICE 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

```
 `Calculus and Analytic Geometry', Thomas and Finney.
```

#### Author_and_Institution

```
N.J. Bachman   (JPL)
```

#### Version

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

#### Index_Entries

```
normal vector and point to plane
```
`Wed Apr  5 17:54:39 2017`