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.
Given an ellipsoid centered at the origin:
a,
b,
c are the scalar double precision lengths of the semiaxes 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 semiaxes 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)
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
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 semimajor
axis vector, and a semiminor 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.
ICY.REQ
ELLIPSES.REQ
Icy Version 1.0.1, 20JUN2011, EDW (JPL)
Edits to I/O and Particulars sections so as to parallel Mice version.
Icy Version 1.0.0, 16JUN2003, EDW (JPL)
ellipsoid limb
