public final class InfiniteEllipticCone extends Object implements InfiniteCone, Serializable
This class is the Infinite Oblique Circular Cone class.
It represents the mathematical object by the same name.
InfiniteCone
,
Shape
,
Serialized Form Vector3D origin = new Vector3D(1,2,3);
Vector3D axis = new Vector3D(0,0,1);
Vector3D axisU = new Vector3D(1,0,0);
double alpha = FastMath.PI / 4;
double beta = FastMath.PI / 5;
InfiniteObliqueCircularCone myCone =
new InfiniteObliqueCircularCone(origin, axis, axisU, alpha, beta);
Constructor and Description |
---|
InfiniteEllipticCone(Vector3D aorigin,
Vector3D aDirection,
Vector3D aaxisU,
double aalpha,
double bbeta)
This is the constructor for the class InfiniteObliqueCircularCone.
|
Modifier and Type | Method and Description |
---|---|
Vector3D[] |
closestPointTo(Line line)
Calculate the closest point to a line
|
Vector3D |
closestPointTo(Vector3D point)
Computes the closest point on the cone to a user specified point
|
double |
distanceTo(Line line)
Get the smallest distance from the line to the cone
|
double |
distanceTo(Vector3D point) |
Vector3D |
getAffineLocalExpression(Vector3D myVector)
Express a Vector3D in spheroid local frame.
|
Vector3D |
getAffineStandardExpression(Vector3D vector)
Express a Vector3D in standard basis.
|
double |
getAngleX()
This method returns the angle of the cone along X axis
|
double |
getAngleY()
This method returns the angle of the cone along Y axis
|
double |
getApertureX()
This method returns the aperture of the cone along X axis
|
double |
getApertureY()
This method returns the aperture of the cone along Y axis
|
Vector3D[] |
getIntersectionPoints(Line line)
This methods computes and returns the intersection points between a line and the cone.
|
Matrix3D |
getLocalBasisTransform()
This method returns the matrix of the transformation to the local basis
|
Vector3D |
getOrigin()
This method returns the origin of the cone
|
double |
getSemiAxisX()
This method returns the semi axis of the cone along X axis
|
double |
getSemiAxisY()
This method returns the semi axis of the cone along Y axis
|
Matrix3D |
getStandardBasisTransform()
This method returns the matrix of the transformation to the standard basis
|
Vector3D |
getVectorialLocalExpression(Vector3D myVector)
Express a Vector3D in spheroid local frame.
|
Vector3D |
getVectorialStandardExpression(Vector3D vector)
Express a Vector3D in standard basis.
|
boolean |
intersects(Line line)
This method returns true if the user specified line intersects the cone.
|
boolean |
isInside(Vector3D point)
Return true if point is inside cone
|
boolean |
isStrictlyInside(Vector3D point)
Return true if point is inside cone
|
String |
toString()
Get a representation for this infinite oblique circular cone.
|
public InfiniteEllipticCone(Vector3D aorigin, Vector3D aDirection, Vector3D aaxisU, double aalpha, double bbeta)
aorigin
- Apex, or vertex, or summit, of the coneaDirection
- Direction of the axis of the coneaaxisU
- Axis of the plane perpendicular to the cones' axis : will be recomputed to be orthogonal and
and normalised. Along this direction
(in the (origin, aaxisU, aaxis)
plane), the cone has an angle of alpha
. Along the
cross product
of axis
and the recomputed axisU
, the cone has an angle of beta
aalpha
- Angle along axisU
(in radians)bbeta
- Angle along axis.crossProduct(axisU)
(in radians)IllegalArgumentException
- if semi-axis or norm of revolution axis is nullpublic Vector3D getOrigin()
getOrigin
in interface InfiniteCone
public double getAngleX()
public double getApertureX()
public double getSemiAxisX()
h=1
)public double getAngleY()
public double getApertureY()
public double getSemiAxisY()
h=1
)public Matrix3D getLocalBasisTransform()
public Vector3D getAffineLocalExpression(Vector3D myVector)
myVector
- Vector expressed in standard basispublic Vector3D getVectorialLocalExpression(Vector3D myVector)
myVector
- Vector expressed in standard basispublic Vector3D getVectorialStandardExpression(Vector3D vector)
vector
- Vector expressed in spheroid local framepublic Vector3D getAffineStandardExpression(Vector3D vector)
vector
- Vector expressed in spheroid local framepublic Matrix3D getStandardBasisTransform()
public boolean intersects(Line line)
intersects
in interface Shape
line
- User specified linepublic Vector3D[] getIntersectionPoints(Line line)
getIntersectionPoints
in interface Shape
line
- The line with which the intersections are to be computedpublic boolean isInside(Vector3D point)
point
- in standard basispublic boolean isStrictlyInside(Vector3D point)
point
- in standard basispublic Vector3D closestPointTo(Vector3D point)
point
- specified by user in standard basispublic double distanceTo(Vector3D point)
point
- specified by user in standard basispublic Vector3D[] closestPointTo(Line line)
closestPointTo
in interface Shape
line
- specified by userpublic double distanceTo(Line line)
distanceTo
in interface Shape
line
- the lineCopyright © 2023 CNES. All rights reserved.