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

Abstract
I/O
Examples
Particulars
Required Reading
Version
Index_Entries

Abstract


   CSPICE_PLTEXP expands a triangular plate by a specified amount.
   The expanded plate is co-planar with, and has the same orientation as,
   the  original. The centroids of the two plates coincide.

   For important details concerning this module's function, please refer to
   the CSPICE routine pltexp_c.

I/O


   Given:

      iverts   an array containing three vertices of a triangular
               plate. Each vertex is a three-dimensional vector. The
               elements

      delta    a fraction by which the plate is to be scaled.
               Scaling is done so that the scaled plate has the
               following properties:

                  -  it is co-planar with the input plate

                  -  its centroid coincides with that of the input
                     plate

                  -  its sides remain parallel to the corresponding
                     sides of the input plate

                  -  the distance of each vertex from the centroid is
                     (1+delta) times the corresponding distance for
                     the input plate

   the call:

      cspice_pltexp, iverts, delta, overts

   returns:

   overts   an array containing three vertices of the triangular
            plate resulting from scaling the input plate.

            If `ctroid' is the centroid (the average of the vertices)
            of the input plate, then the ith vertex of `overts'

               overts[j,i], j = 0 ... 2

            is equal to

               ctroid[j] + (1+delta)*( iverts[j,i] - ctroid[j] ),

               j = 0 ... 2

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.

      PRO pltexp_t

         s     = sqrt( 3.D ) / 2.D

         iverts = [ [ s, -0.5D,  7.0], [ 0.0, 1.0, 7.0], [ -s, -0.5, 7.0] ]


         delta = 1.D

         cspice_pltexp, iverts, delta, overts

         print,  'Vertices of input plate: '
         print,  ' I1 = ', iverts(*,0)
         print,  ' I2 = ', iverts(*,1)
         print,  ' I3 = ', iverts(*,2)
         print


         print,  'Vertices of output plate: '
         print,  ' O1 = ', overts(*,0)
         print,  ' O2 = ', overts(*,1)
         print,  ' O3 = ', overts(*,2)

      END

   IDL outputs:

      Vertices of input plate:
       I1 =       0.86602540     -0.50000000       7.0000000
       I2 =        0.0000000       1.0000000       7.0000000
       I3 =      -0.86602540     -0.50000000       7.0000000

      Vertices of output plate:
       O1 =        1.7320508      -1.0000000       7.0000000
       O2 =        0.0000000       2.0000000       7.0000000
       O3 =       -1.7320508      -1.0000000       7.0000000

Particulars


   This routine supports "greedy" ray-plate intercept algorithms.
   Such algorithms attempt to ensure that false negatives---in which
   an intersection is not found due to round-off error---do not
   occur. In such an algorithm, the plate of interest is expanded
   slightly before the intersection test is performed.

Required Reading


   ICY.REQ

Version


   -Icy Version 1.0.0, 15-DEC-2016, ML (JPL), EDW (JPL)

Index_Entries


   expand triangular plate



Wed Apr  5 17:58:02 2017