Package org.orekit.bodies
Class FieldEllipse<T extends CalculusFieldElement<T>>
- java.lang.Object
-
- org.orekit.bodies.FieldEllipse<T>
-
- Type Parameters:
T
- the type of the field elements
public class FieldEllipse<T extends CalculusFieldElement<T>> extends Object
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:
- 12.0
- Author:
- Luc Maisonobe
- See Also:
Ellipsoid.getPlaneSection(FieldVector3D, FieldVector3D)
-
-
Constructor Summary
Constructors Constructor Description FieldEllipse(FieldVector3D<T> center, FieldVector3D<T> u, FieldVector3D<T> v, T a, T b, Frame frame)
Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description T
getA()
Get the semi major axis.T
getB()
Get the semi minor axis.FieldVector3D<T>
getCenter()
Get the center of the 2D ellipse.FieldVector2D<T>
getCenterOfCurvature(FieldVector2D<T> point)
Find the center of curvature (point on the evolute) at the nadir of a point.Frame
getFrame()
Get the defining frame.FieldVector3D<T>
getU()
Get the unit vector along the major axis.FieldVector3D<T>
getV()
Get the unit vector along the minor axis.FieldVector3D<T>
pointAt(T theta)
Get a point of the 2D ellipse.FieldVector2D<T>
projectToEllipse(FieldVector2D<T> p)
Find the closest ellipse point.TimeStampedFieldPVCoordinates<T>
projectToEllipse(TimeStampedFieldPVCoordinates<T> pv)
Project position-velocity-acceleration on an ellipse.FieldVector2D<T>
toPlane(FieldVector3D<T> p)
Project a point to the ellipse plane.FieldVector3D<T>
toSpace(FieldVector2D<T> p)
Create a point from its ellipse-relative coordinates.
-
-
-
Constructor Detail
-
FieldEllipse
public FieldEllipse(FieldVector3D<T> center, FieldVector3D<T> u, FieldVector3D<T> v, T a, T 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 FieldVector3D<T> getCenter()
Get the center of the 2D ellipse.- Returns:
- center of the 2D ellipse
-
getU
public FieldVector3D<T> getU()
Get the unit vector along the major axis.- Returns:
- unit vector along the major axis
-
getV
public FieldVector3D<T> getV()
Get the unit vector along the minor axis.- Returns:
- unit vector along the minor axis
-
getA
public T getA()
Get the semi major axis.- Returns:
- semi major axis
-
getB
public T getB()
Get the semi minor axis.- Returns:
- semi minor axis
-
getFrame
public Frame getFrame()
Get the defining frame.- Returns:
- defining frame
-
pointAt
public FieldVector3D<T> pointAt(T 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 FieldVector3D<T> toSpace(FieldVector2D<T> 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(FieldVector3D)
-
toPlane
public FieldVector2D<T> toPlane(FieldVector3D<T> 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(FieldVector2D)
-
projectToEllipse
public FieldVector2D<T> projectToEllipse(FieldVector2D<T> 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 TimeStampedFieldPVCoordinates<T> projectToEllipse(TimeStampedFieldPVCoordinates<T> pv)
Project position-velocity-acceleration on an ellipse.- Parameters:
pv
- position-velocity-acceleration to project, in the reference frame- Returns:
- projected position-velocity-acceleration
-
getCenterOfCurvature
public FieldVector2D<T> getCenterOfCurvature(FieldVector2D<T> point)
Find the center of curvature (point on the evolute) at the nadir of a point.- Parameters:
point
- point in the ellipse plane- Returns:
- center of curvature of the ellipse directly at point nadir
-
-