org.orekit.bodies

## Class Ellipse

• All Implemented Interfaces:
Serializable

```public class Ellipse
extends Object
implements Serializable```
Model of a 2D ellipse in 3D space.

These ellipses are mainly created as plane sections of general 3D ellipsoids, but can be used for other purposes.

Instances of this class are guaranteed to be immutable.

Since:
7.0
Author:
Luc Maisonobe
`Ellipsoid.getPlaneSection(Vector3D, Vector3D)`, Serialized Form
• ### Constructor Summary

Constructors
Constructor and Description
```Ellipse(Vector3D center, Vector3D u, Vector3D v, double a, double b, Frame frame)```
Simple constructor.
• ### Method Summary

Methods
Modifier and Type Method and Description
`double` `getA()`
Get the semi major axis.
`double` `getB()`
Get the semi minor axis.
`Vector3D` `getCenter()`
Get the center of the 2D ellipse.
`Frame` `getFrame()`
Get the defining frame.
`Vector3D` `getU()`
Get the unit vector along the major axis.
`Vector3D` `getV()`
Get the unit vector along the minor axis.
`Vector3D` `pointAt(double theta)`
Get a point of the 2D ellipse.
`TimeStampedPVCoordinates` `projectToEllipse(TimeStampedPVCoordinates pv)`
Project position-velocity-acceleration on an ellipse.
`Vector2D` `projectToEllipse(Vector2D p)`
Find the closest ellipse point.
`Vector2D` `toPlane(Vector3D p)`
Project a point to the ellipse plane.
`Vector3D` `toSpace(Vector2D p)`
Create a point from its ellipse-relative coordinates.
• ### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• ### Constructor Detail

• #### Ellipse

```public Ellipse(Vector3D center,
Vector3D u,
Vector3D v,
double a,
double b,
Frame frame)```
Simple constructor.
Parameters:
`center` - center of the 2D ellipse
`u` - unit vector along the major axis
`v` - unit vector along the minor axis
`a` - semi major axis
`b` - semi minor axis
`frame` - frame in which the ellipse is defined
• ### Method Detail

• #### getCenter

`public Vector3D getCenter()`
Get the center of the 2D ellipse.
Returns:
center of the 2D ellipse
• #### getU

`public Vector3D getU()`
Get the unit vector along the major axis.
Returns:
unit vector along the major axis
• #### getV

`public Vector3D getV()`
Get the unit vector along the minor axis.
Returns:
unit vector along the minor axis
• #### getA

`public double getA()`
Get the semi major axis.
Returns:
semi major axis
• #### getB

`public double getB()`
Get the semi minor axis.
Returns:
semi minor axis
• #### getFrame

`public Frame getFrame()`
Get the defining frame.
Returns:
defining frame
• #### pointAt

`public Vector3D pointAt(double theta)`
Get a point of the 2D ellipse.
Parameters:
`theta` - angular parameter on the ellipse (really the eccentric anomaly)
Returns:
ellipse point at theta, in underlying ellipsoid frame
• #### toSpace

`public Vector3D toSpace(Vector2D p)`
Create a point from its ellipse-relative coordinates.
Parameters:
`p` - point defined with respect to ellipse
Returns:
point defined with respect to 3D frame
`toPlane(Vector3D)`
• #### toPlane

`public Vector2D toPlane(Vector3D p)`
Project a point to the ellipse plane.
Parameters:
`p` - point defined with respect to 3D frame
Returns:
point defined with respect to ellipse
`toSpace(Vector2D)`
• #### projectToEllipse

`public Vector2D projectToEllipse(Vector2D p)`
Find the closest ellipse point.
Parameters:
`p` - point in the ellipse plane to project on the ellipse itself
Returns:
closest point belonging to 2D meridian ellipse
• #### projectToEllipse

`public TimeStampedPVCoordinates projectToEllipse(TimeStampedPVCoordinates pv)`
Project position-velocity-acceleration on an ellipse.
Parameters:
`pv` - position-velocity-acceleration to project, in the reference frame
Returns:
projected position-velocity-acceleration