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 
Index Page
cspice_pltnrm

Table of contents
Abstract
I/O
Parameters
Examples
Particulars
Exceptions
Files
Restrictions
Required_Reading
Literature_References
Author_and_Institution
Version
Index_Entries


Abstract


   CSPICE_PLTNRM computes an outward normal vector of a triangular plate.
   The vector does not necessarily have unit length.

I/O


   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 )

Parameters


   None.

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.

   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


Particulars


   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.

Exceptions


   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.

Files


   None.

Restrictions


   None.

Required_Reading


   DSK.REQ
   ICY.REQ

Literature_References


   None.

Author_and_Institution


   J. Diaz del Rio     (ODC Space)
   M. Liukis           (JPL)
   E.D. Wright         (JPL)

Version


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

Index_Entries


   compute normal vector of triangular plate from vertices



Fri Dec 31 18:43:06 2021