Package org.orekit.bodies
Class Ellipse
- java.lang.Object
-
- org.orekit.bodies.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
- See Also:
Ellipsoid.getPlaneSection(Vector3D, Vector3D)
, Serialized Form
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getA()
Get the semi major axis.double
getB()
Get the semi minor axis.Vector3D
getCenter()
Get the center of the 2D ellipse.Vector2D
getCenterOfCurvature(Vector2D point)
Find the center of curvature (point on the evolute) at the nadir of a point.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.Vector2D
projectToEllipse(Vector2D p)
Find the closest ellipse point.TimeStampedPVCoordinates
projectToEllipse(TimeStampedPVCoordinates pv)
Project position-velocity-acceleration on an ellipse.Vector2D
toPlane(Vector3D p)
Project a point to the ellipse plane.Vector3D
toSpace(Vector2D p)
Create a point from its ellipse-relative coordinates.
-
-
-
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 ellipseu
- unit vector along the major axisv
- unit vector along the minor axisa
- semi major axisb
- semi minor axisframe
- 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
- See Also:
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
- See Also:
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
-
-