public class Ellipse extends Object implements Serializable
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.
Ellipsoid.getPlaneSection(Vector3D, Vector3D)
,
Serialized FormConstructor and Description |
---|
Ellipse(Vector3D center,
Vector3D u,
Vector3D v,
double a,
double b,
Frame frame)
Simple constructor.
|
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.
|
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.
|
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.
|
public Ellipse(Vector3D center, Vector3D u, Vector3D v, double a, double b, Frame frame)
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 definedpublic Vector3D getCenter()
public Vector3D getU()
public Vector3D getV()
public double getA()
public double getB()
public Frame getFrame()
public Vector3D pointAt(double theta)
theta
- angular parameter on the ellipse (really the eccentric anomaly)public Vector3D toSpace(Vector2D p)
p
- point defined with respect to ellipsetoPlane(Vector3D)
public Vector2D toPlane(Vector3D p)
p
- point defined with respect to 3D frametoSpace(Vector2D)
public Vector2D projectToEllipse(Vector2D p)
p
- point in the ellipse plane to project on the ellipse itselfpublic TimeStampedPVCoordinates projectToEllipse(TimeStampedPVCoordinates pv)
pv
- position-velocity-acceleration to project, in the reference frameCopyright © 2002-2020 CS Group. All rights reserved.