Table of contents
CSPICE_PLTNRM computes an outward normal vector of a triangular plate.
The vector does not necessarily have unit length.
Given:
v1,
v2,
v3 3-vectors constituting the vertices of a triangular plate.
help, v1
DOUBLE = Array[3]
help, v2
DOUBLE = Array[3]
help, v3
DOUBLE = Array[3]
the call:
cspice_pltnrm, v1, v2, v3, normal
returns:
normal an outward normal vector of the plate defined by the input
vertices.
help, normal
DOUBLE = Array[3]
The order of the vertices is used to determine the choice of
normal direction: the normal vector is
( V2 - V1 ) x ( V3 - V2 )
None.
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.
1) Compute an upward normal of an equilateral triangle lying
in the X-Y plane and centered at the origin.
Example code begins here.
PRO pltnrm_ex1
s = sqrt(3.D)/2.D;
v1 = [ s, -0.5D, 0.D]
v2 = [ 0.D, 1.D, 0.D]
v3 = [ -s, -0.5D, 0.D]
cspice_pltnrm, v1, v2, v3, normal
print, 'NORMAL = ', normal
END
When this program was executed on a Mac/Intel/IDL8.x/64-bit
platform, the output was:
NORMAL = 0.0000000 0.0000000 2.5980762
This routine saves computation time by not scaling the output
vector to unit length. The caller can scale the vector using
the routine cspice_vhat.
1) The input plate may be degenerate: it may be a line segment
or a point. These are not considered to be erroneous inputs.
2) If any of the input arguments, `v1', `v2' or `v3', is
undefined, an error is signaled by the IDL error handling
system.
3) If any of the input arguments, `v1', `v2' or `v3', is not of
the expected type, or it does not have the expected dimensions
and size, an error is signaled by the Icy interface.
4) If the output argument `normal' is not a named variable, an
error is signaled by the Icy interface.
None.
None.
DSK.REQ
ICY.REQ
None.
J. Diaz del Rio (ODC Space)
M. Liukis (JPL)
E.D. Wright (JPL)
-Icy Version 1.0.1, 01-JUN-2021 (JDR)
Edited the header to comply with NAIF standard.
Added -Parameters, -Exceptions, -Files, -Restrictions,
-Literature_References and -Author_and_Institution sections.
Removed reference to the routine's corresponding CSPICE header from
-Abstract section.
Added arguments' type and size information in the -I/O section.
-Icy Version 1.0.0, 15-DEC-2016 (ML) (EDW)
compute normal vector of triangular plate from vertices
|