Index Page
cspice_edlimb
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_EDLIMB calculates the limb of a triaxial ellipsoid
   as viewed from a specified location.

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

I/O


   Given an ellipsoid centered at the origin:

      a,
      b,
      c        are the scalar double precision lengths of the semi-axes of
               a triaxial ellipsoid.  The ellipsoid is centered at the origin
               and oriented so that its axes lie on the x, y and z axes.
               'a', 'b', and 'c' are the lengths of the semi-axes that
               respectively point in the x, y, and z directions.

      viewpt   a point from which the  ellipsoid is viewed. 'viewpt' must
               be outside of the ellipsoid.

   The call:

      cspice_edlimb, a, b, c, viewpt, limb

   returns:

      limb   the scalar SPICE ellipse structure that represents the limb of
             the ellipsoid observed from 'viewpt'. The structure has
             the fields:

                   center:    dblarr(3)
                   semimajor: dblarr(3)
                   semiminor: dblarr(3)

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 an ellipsoid
      ;;
      a = sqrt(2.d)
      b = 2.d*sqrt(2.d)
      c = sqrt(2.d)

      ;;
      ;; Locate a viewpoint exterior to the ellipsoid.
      ;;
      viewpt    = [ 2.d, 0.d,  0.d ]

      ;;
      ;; Calculate the limb ellipse as seen by from the
      ;; viewpoint.
      ;;
      cspice_edlimb, a, b, c, viewpt, limb

      ;;
      ;; Output the structure components.
      ;;
      print, 'Semiminor axis: ', limb.semiminor
      print, 'Semimajor axis: ', limb.semimajor
      print, 'Limb center   : ', limb.center

      ;;
      ;; Check against expected values:
      ;;
      ;; Semiminor: 0.d, 0.d, -1.d
      ;; Semimajor: 0.d, 2.d,  0.d
      ;; Center   : 1.d, 0.d,  0.d
      ;;

   IDL outputs:

      Semiminor axis:   0.0000000   0.0000000  -1.0000000
      Semimajor axis:   0.0000000   2.0000000   0.0000000
      Limb center   :   1.0000000   0.0000000   0.0000000

Particulars


   The limb of a body, as seen from a viewing point, is the boundary
   of the portion of the body's surface that is visible from that
   viewing point.  In this definition, we consider a surface point
   to be `visible' if it can be connected to the viewing point by a
   line segment that doesn't pass through the body.  This is a purely
   geometrical definition that ignores the matter of which portions
   of the surface are illuminated, or whether the view is obscured by
   any additional objects.

   If a body is modeled as a triaxial ellipsoid, the limb is always
   an ellipse.  The limb is determined by its center, a semi-major
   axis vector, and a semi-minor axis vector.

   We note that the problem of finding the limb of a triaxial
   ellipsoid is mathematically identical to that of finding its
   terminator, if one makes the simplifying assumption that the
   terminator is the limb of the body as seen from the vertex of the
   umbra.  So, this routine can be used to solve this simplified
   version of the problem of finding the terminator.

Required Reading


   ICY.REQ
   ELLIPSES.REQ

Version


   -Icy Version 1.0.1, 20-JUN-2011, EDW (JPL)

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

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

Index_Entries


   ellipsoid limb




Wed Apr  5 17:58:00 2017