cspice_saelgv

 Abstract I/O Examples Particulars Required Reading Version Index_Entries
```
```

#### Abstract

```
CSPICE_SAELGV calculates the semi-axis vectors of an ellipse
generated by two arbitrary 3-vectors.

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

```

#### I/O

```
Given:

vec1,
vec2    two double precision 3-vectors that define an ellipse
(the generating vectors). The ellipse is the set of points

center  +  cos(theta) vec1  +  sin(theta) vec2

where theta ranges over the interval (-pi, pi] and
center is an arbitrary point at which the ellipse
is centered.  An ellipse's semi-axes are
independent of its center, so the vector center
shown above is not an input to this routine.

'vec1' and 'vec2' need not be linearly independent;
degenerate input ellipses are allowed.

the call:

cspice_saelgv, vec1, vec2, smajor, sminor

returns:

smajor   the double precision semi-major axis 3-vector
of the ellipse

sminor   the double precision semi-minor axis 3-vector
of the ellipse

Note that 'vec1' and 'vec2' need to be linearly independent.

```

#### 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 two arbitrary, linearly independent, vectors.
;;
vec1 = [ 1.d, 1.d, 1.d ]
vec2 = [ 1.d,-1.d, 1.d ]

;;
;; Calculate the semi-major and semi-minor axes of an
;; ellipse generated by the two vector.
;;
cspice_saelgv, vec1, vec2, smajor, sminor
print, smajor
print, sminor

IDL outputs for smajor:

1.4142136     -1.7634653e-16  1.4142136

IDL outputs for sminor:

2.3799435e-16  1.4142136      2.3799435e-16

For this example, values on the order of 10E-16 equate to 0.d
with regards to double precision round-off error.

```

#### Particulars

```
We note here that two linearly independent but not necessarily
orthogonal vectors vec1 and vec2 can define an ellipse
centered at the origin:  the ellipse is the set of points in
3-space

center  +  cos(theta) vec1  +  sin(theta) vec2

where theta is in the interval (-pi, pi] and center is an
arbitrary point at which the ellipse is centered.

This routine finds vectors that constitute semi-axes of an
ellipse that is defined, except for the location of its center,
by vec1 and vec2.  The semi-major axis is a vector of largest
possible magnitude in the set

cos(theta) vec1  +  sin(theta) vec2

There are two such vectors; they are additive inverses of each
other. The semi-minor axis is an analogous vector of smallest
possible magnitude.  The semi-major and semi-minor axes are
orthogonal to each other.  If smajor and sminor are choices of
semi-major and semi-minor axes, then the input ellipse can also
be represented as the set of points

center  +  cos(theta) smajor  +  sin(theta) sminor

where theta is in the interval (-pi, pi].

The capability of finding the axes of an ellipse is useful in
finding the image of an ellipse under a linear transformation.
Finding this image is useful for determining the orthogonal and
gnomonic projections of an ellipse, and also for finding the limb
and terminator of an ellipsoidal body.

```

```
ICY.REQ
ELLIPSES.REQ

```

#### Version

```
-Icy Version 1.0.1, 08-MAY-2008, EDW (JPL)

Expanded description of input and output variables.

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

```

#### Index_Entries

```
semi-axes of ellipse from generating vectors

```
`Wed Apr  5 17:58:03 2017`