|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.commons.math3.geometry.euclidean.threed.Ellipsoid
public class Ellipsoid
This is the Ellipsoid (also called Revolved Ellipsoid) class.This class cannot represent all ellipsoid objects.
It creates an ellipsoid object.
Usage: With two Vector3D for position and Rev. Axis and three doubles for the three semi axes, call
IEllipsoid
,
SolidShape
,
Serialized FormConstructor Summary | |
---|---|
Ellipsoid(Vector3D myPosition,
Vector3D myRevAxis,
Vector3D myXAxis,
double myA,
double myB,
double myC)
This constructor builds a ellipsoid from its centers position, its revolution axis and its transverse and conjugate radii. |
Method Summary | |
---|---|
Vector3D[] |
closestPointTo(Line line)
This method computes the point on the line that is the closest to the ellipsoid. |
Vector3D |
closestPointTo(Vector3D point)
Computes the point, on the ellipsoid surface, that is the closest to a point of space. |
double |
distanceTo(Line line)
Get the smallest distance from the line to the ellipsoid |
double |
distanceTo(Vector3D point)
Computes the distance to the closest point on the ellipsoid. |
Vector3D |
getAffineLocalExpression(Vector3D myVector)
Express a Vector3D in ellipsoid local basis. |
Vector3D |
getAffineStandardExpression(Vector3D myVector)
Express a Vector3D in standard basis. |
double[] |
getCartesianCoordinates(double theta,
double phi)
Convert from Ellipsoid to Cartesian coordinates |
Vector3D |
getCenter()
Get ellipsoid center |
double[] |
getEllipsoidicCoordinates(Vector3D point)
Convert from Cartesian to Ellipsoid coordinates |
Vector3D[] |
getIntersectionPoints(Line line)
If more than one intersection points are found, the closest to the line's origin is returned first |
Matrix3D |
getLocalBasisTransform()
Get transformation matrix (from standard basis to ellipsoid local basis) |
Vector3D |
getNormal(Vector3D point)
Computes the normal vector to the surface in local basis |
double |
getSemiA()
Get the length of the semi principal axis X |
double |
getSemiB()
Get the length of the semi principal axis Y |
double |
getSemiC()
Get the length of the semi principal axis Z |
Vector3D |
getSemiPrincipalX()
|
Vector3D |
getSemiPrincipalY()
|
Vector3D |
getSemiPrincipalZ()
|
Matrix3D |
getStandardBasisTransform()
Get transformation matrix (from ellipsoid local basis to standard basis) |
Vector3D |
getVectorialLocalExpression(Vector3D myVector)
Express a Vector3D in ellipsoid local basis. |
Vector3D |
getVectorialStandardExpression(Vector3D myVector)
Express a Vector3D in standard basis. |
boolean |
intersects(Line line)
This method returns true if the line intersects the ellipsoid |
void |
setNewtonThreshold(double newThreshold)
Setter for Newton algorithm threshold used to compute closest point and distance to the ellipsoid. |
String |
toString()
Get a representation for this ellipsoid. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public Ellipsoid(Vector3D myPosition, Vector3D myRevAxis, Vector3D myXAxis, double myA, double myB, double myC)
myPosition
- The position of the ellipsoids centermyRevAxis
- The axis of revolution of the ellipsoidmyXAxis
- The axis of semi major axis a. Will be normalized and taken orthogonal to myRevAxis.myA
- Transverse radius : semi axis of the ellipsoid along a direction orthogonal to the axis of revolutionmyB
- Transverse radius : semi axis of the ellipsoid along a direction orthogonal to the axis of revolution
(orthogonal to myA direction)myC
- Conjugate radius : semi axis of the ellipsoid along the axis of revolution
IllegalArgumentException
- if semi-axis or norm of revolution axis is nullMethod Detail |
---|
public Vector3D getSemiPrincipalX()
public Vector3D getSemiPrincipalY()
public Vector3D getSemiPrincipalZ()
public Vector3D getCenter()
getCenter
in interface IEllipsoid
public double getSemiA()
getSemiA
in interface IEllipsoid
public double getSemiB()
getSemiB
in interface IEllipsoid
public double getSemiC()
getSemiC
in interface IEllipsoid
public Matrix3D getStandardBasisTransform()
public Matrix3D getLocalBasisTransform()
public Vector3D getAffineLocalExpression(Vector3D myVector)
myVector
- Vector expressed in standard basis
public Vector3D getAffineStandardExpression(Vector3D myVector)
myVector
- Vector expressed in ellipsoid local basis
public Vector3D getVectorialLocalExpression(Vector3D myVector)
myVector
- Vector expressed in standard basis
public Vector3D getVectorialStandardExpression(Vector3D myVector)
myVector
- Vector expressed in ellipsoid local basis
public double[] getCartesianCoordinates(double theta, double phi)
theta
- theta angle in local basisphi
- phi angle
public double[] getEllipsoidicCoordinates(Vector3D point)
point
- Point as a Vector3D in local basis
public Vector3D getNormal(Vector3D point)
getNormal
in interface IEllipsoid
point
- Point as a Vector3D in local basis
public Vector3D[] getIntersectionPoints(Line line)
getIntersectionPoints
in interface Shape
line
- line with which the intersections are calculated
public boolean intersects(Line line)
intersects
in interface Shape
line
- line for the computation of the intersection
public Vector3D closestPointTo(Vector3D point)
closestPointTo
in interface IEllipsoid
point
- the point expressed in standard basis
public double distanceTo(Vector3D point)
closestPointTo(Vector3D)
that computes the
coordinates of the closest point on the ellipsoid and returns the distance between the user point and the
returned point.
point
- point coordinates in standard basis
public Vector3D[] closestPointTo(Line line)
closestPointTo
in interface Shape
line
- line for the shortest distance computation
Vector3D
public double distanceTo(Line line)
distanceTo
in interface Shape
line
- the line
public void setNewtonThreshold(double newThreshold)
newThreshold
- new threshold to setpublic String toString()
toString
in class Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |