cspice_nvp2pl

 Abstract I/O Examples Particulars Required Reading Version Index_Entries
```
```

#### Abstract

```
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.

```

#### I/O

```
Given:

normal     a double precision 3-vector

point      a double precision 3-vector

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:

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:   [3-array double]
constant: [scalar double]

```

#### Examples

```
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 round-off.
;;
print, cspice_vdot( point, span1)
print, cspice_vdot( point, span2)
print, cspice_vdot( span1, span2)

IDL outputs for cspice_vdot( point, span1):  -9.3277315e-17

IDL outputs for cspice_vdot( point, span2):   6.8201565e-17

IDL outputs for cspice_vdot( span1, span2):   6.2390956e-18

```

#### Particulars

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

```

#### Version

```
-Icy Version 1.0.2, 01-SEP-2010, EDW (JPL)

Edits to I/O and Examples sections so as to parallel Mice version.

-Icy Version 1.0.1, 24-NOV-2008, EDW (JPL)

Edited header section I/O and Particulars.

-Icy Version 1.0.0, 16-JUN-2003, EDW (JPL)

```

#### Index_Entries

```
normal vector and point to plane

```
`Wed Apr  5 17:58:02 2017`