|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.orekit.bodies.OneAxisEllipsoid
public class OneAxisEllipsoid
Modeling of a one-axis ellipsoid.
One-axis ellipsoids is a good approximate model for most planet-size and larger natural bodies. It is the equilibrium shape reached by a fluid body under its own gravity field when it rotates. The symmetry axis is the rotation or polar axis.
This class is a simple adaptation of the Ellipsoid example class implementing the algorithms described in the paper Quick computation of the distance between a point and an ellipse.
| Constructor Summary | |
|---|---|
OneAxisEllipsoid(double ae,
double f,
Frame bodyFrame)
Simple constructor. |
|
| Method Summary | |
|---|---|
Frame |
getBodyFrame()
Get the body frame related to body shape. |
double |
getEquatorialRadius()
Get the equatorial radius of the body. |
GeodeticPoint |
getIntersectionPoint(Line line,
org.apache.commons.math.geometry.Vector3D close,
Frame frame,
AbsoluteDate date)
Get the intersection point of a line with the surface of the body. |
void |
setAngularThreshold(double angularThreshold)
Set the angular convergence threshold. |
void |
setCloseApproachThreshold(double closeApproachThreshold)
Set the close approach threshold. |
org.apache.commons.math.geometry.Vector3D |
transform(GeodeticPoint point)
Transform a surface-relative point to a cartesian point. |
GeodeticPoint |
transform(org.apache.commons.math.geometry.Vector3D point,
Frame frame,
AbsoluteDate date)
Transform a cartesian point to a surface-relative point. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public OneAxisEllipsoid(double ae,
double f,
Frame bodyFrame)
The following table provides conventional parameters for global Earth models:
| model | ae (m) | f |
|---|---|---|
| GRS 80 | 6378137.0 | 1.0 / 298.257222101 |
| WGS84 | 6378137.0 | 1.0 / 298.257223563 |
ae - equatorial radiusf - the flattening (f = (a-b)/a)bodyFrame - body frame related to body shapeFramesFactory.getITRF2005()| Method Detail |
|---|
public void setCloseApproachThreshold(double closeApproachThreshold)
The close approach threshold is a ratio used to identify
special cases in the transform(Vector3D, Frame,
AbsoluteDate) method.
Let d = (x2+y2+z2)½ be the distance between the point and the ellipsoid center.
If this method is not called, the default value is set to 10-10.
closeApproachThreshold - close approach threshold (no unit)public void setAngularThreshold(double angularThreshold)
The angular threshold is the convergence threshold used to
stop the iterations in the transform(Vector3D, Frame,
AbsoluteDate) method.
It applies directly to the latitude. When convergence is reached,
the real latitude is guaranteed to be between φ - δ&phi/2
and φ + δ&phi/2 where φ is the computed latitude
and δ&phi is the angular threshold set by this method.
If this method is not called, the default value is set to 10-14.
angularThreshold - angular convergence threshold (rad)public double getEquatorialRadius()
public Frame getBodyFrame()
getBodyFrame in interface BodyShape
public GeodeticPoint getIntersectionPoint(Line line,
org.apache.commons.math.geometry.Vector3D close,
Frame frame,
AbsoluteDate date)
throws OrekitException
A line may have several intersection points with a closed surface (we consider the one point case as a degenerated two points case). The close parameter is used to select which of these points should be returned. The selected point is the one that is closest to the close point.
getIntersectionPoint in interface BodyShapeline - test line (may intersect the body or not)close - point used for intersections selectionframe - frame in which line is expresseddate - date of the line in given frame
OrekitException - if line cannot be converted to body frameLine.getAbscissa(Vector3D),
Line.pointAt(double)public org.apache.commons.math.geometry.Vector3D transform(GeodeticPoint point)
transform in interface BodyShapepoint - surface-relative point
public GeodeticPoint transform(org.apache.commons.math.geometry.Vector3D point,
Frame frame,
AbsoluteDate date)
throws OrekitException
transform in interface BodyShapepoint - cartesian pointframe - frame in which cartesian point is expresseddate - date of the point in given frame
OrekitException - if point cannot be converted to body frame
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||