|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.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 Form| Constructor 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 |
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 null| Method Detail |
|---|
public Vector3D getSemiPrincipalX()
public Vector3D getSemiPrincipalY()
public Vector3D getSemiPrincipalZ()
public Vector3D getCenter()
getCenter in interface IEllipsoidpublic double getSemiA()
getSemiA in interface IEllipsoidpublic double getSemiB()
getSemiB in interface IEllipsoidpublic double getSemiC()
getSemiC in interface IEllipsoidpublic 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 IEllipsoidpoint - Point as a Vector3D in local basis
public Vector3D[] getIntersectionPoints(Line line)
getIntersectionPoints in interface Shapeline - line with which the intersections are calculated
public boolean intersects(Line line)
intersects in interface Shapeline - line for the computation of the intersection
public Vector3D closestPointTo(Vector3D point)
closestPointTo in interface IEllipsoidpoint - 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 Shapeline - line for the shortest distance computation
Vector3Dpublic double distanceTo(Line line)
distanceTo in interface Shapeline - the line
public String toString()
toString in class Object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||