Class FieldLine<T extends CalculusFieldElement<T>>
- Type Parameters:
T
- the type of the field elements
Each oriented line is intrinsically associated with an abscissa which is a coordinate on the line. The point at abscissa 0 is the orthogonal projection of the origin on the line, another equivalent way to express this is to say that it is the point of the line which is closest to the origin. Abscissa increases in the line direction.
-
Constructor Summary
ConstructorDescriptionCopy constructor.FieldLine
(FieldVector3D<T> p1, FieldVector3D<T> p2, double tolerance) Build a line from two points. -
Method Summary
Modifier and TypeMethodDescriptionclosestPoint
(FieldLine<T> line) Compute the point of the instance closest to another line.boolean
contains
(FieldVector3D<T> p) Check if the instance contains a point.boolean
Check if the instance contains a point.Compute the shortest distance between the instance and another line.distance
(FieldVector3D<T> p) Compute the distance between the instance and a point.Compute the distance between the instance and a point.getAbscissa
(FieldVector3D<T> point) Get the abscissa of a point with respect to the line.getAbscissa
(Vector3D point) Get the abscissa of a point with respect to the line.Get the normalized direction vector.Get the line point closest to the origin.double
Get the tolerance below which points are considered identical.intersection
(FieldLine<T> line) Get the intersection point of the instance and another line.boolean
isSimilarTo
(FieldLine<T> line) Check if the instance is similar to another line.pointAt
(double abscissa) Get one point from the line.Get one point from the line.void
reset
(FieldVector3D<T> p1, FieldVector3D<T> p2) Reset the instance as if built from two points.revert()
Get a line with reversed direction.
-
Constructor Details
-
FieldLine
public FieldLine(FieldVector3D<T> p1, FieldVector3D<T> p2, double tolerance) throws MathIllegalArgumentException Build a line from two points.- Parameters:
p1
- first point belonging to the line (this can be any point)p2
- second point belonging to the line (this can be any point, different from p1)tolerance
- tolerance below which points are considered identical- Throws:
MathIllegalArgumentException
- if the points are equal
-
FieldLine
Copy constructor.The created instance is completely independent from the original instance, it is a deep copy.
- Parameters:
line
- line to copy
-
-
Method Details
-
reset
Reset the instance as if built from two points.- Parameters:
p1
- first point belonging to the line (this can be any point)p2
- second point belonging to the line (this can be any point, different from p1)- Throws:
MathIllegalArgumentException
- if the points are equal
-
getTolerance
public double getTolerance()Get the tolerance below which points are considered identical.- Returns:
- tolerance below which points are considered identical
-
revert
Get a line with reversed direction.- Returns:
- a new instance, with reversed direction
-
getDirection
Get the normalized direction vector.- Returns:
- normalized direction vector
-
getOrigin
Get the line point closest to the origin.- Returns:
- line point closest to the origin
-
getAbscissa
Get the abscissa of a point with respect to the line.The abscissa is 0 if the projection of the point and the projection of the frame origin on the line are the same point.
- Parameters:
point
- point to check- Returns:
- abscissa of the point
-
getAbscissa
Get the abscissa of a point with respect to the line.The abscissa is 0 if the projection of the point and the projection of the frame origin on the line are the same point.
- Parameters:
point
- point to check- Returns:
- abscissa of the point
-
pointAt
Get one point from the line.- Parameters:
abscissa
- desired abscissa for the point- Returns:
- one point belonging to the line, at specified abscissa
-
pointAt
Get one point from the line.- Parameters:
abscissa
- desired abscissa for the point- Returns:
- one point belonging to the line, at specified abscissa
-
isSimilarTo
Check if the instance is similar to another line.Lines are considered similar if they contain the same points. This does not mean they are equal since they can have opposite directions.
- Parameters:
line
- line to which instance should be compared- Returns:
- true if the lines are similar
-
contains
Check if the instance contains a point.- Parameters:
p
- point to check- Returns:
- true if p belongs to the line
-
contains
Check if the instance contains a point.- Parameters:
p
- point to check- Returns:
- true if p belongs to the line
-
distance
Compute the distance between the instance and a point.- Parameters:
p
- to check- Returns:
- distance between the instance and the point
-
distance
Compute the distance between the instance and a point.- Parameters:
p
- to check- Returns:
- distance between the instance and the point
-
distance
Compute the shortest distance between the instance and another line.- Parameters:
line
- line to check against the instance- Returns:
- shortest distance between the instance and the line
-
closestPoint
Compute the point of the instance closest to another line.- Parameters:
line
- line to check against the instance- Returns:
- point of the instance closest to another line
-
intersection
Get the intersection point of the instance and another line.- Parameters:
line
- other line- Returns:
- intersection point of the instance and the other line or null if there are no intersection points
-