public class Line extends Object implements Embedding<Euclidean3D,Euclidean1D>
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 and Description 

Line(Line line)
Copy constructor.

Line(Vector3D p1,
Vector3D p2,
double tolerance)
Build a line from two points.

Modifier and Type  Method and Description 

Vector3D 
closestPoint(Line line)
Compute the point of the instance closest to another line.

boolean 
contains(Vector3D p)
Check if the instance contains a point.

double 
distance(Line line)
Compute the shortest distance between the instance and another line.

double 
distance(Vector3D p)
Compute the distance between the instance and a point.

static Line 
fromDirection(Vector3D point,
Vector3D direction,
double tolerance)
Create a line from a point and a direction.

double 
getAbscissa(Vector3D point)
Get the abscissa of a point with respect to the line.

Vector3D 
getDirection()
Get the normalized direction vector.

Vector3D 
getOrigin()
Get the line point closest to the origin.

double 
getTolerance()
Get the tolerance below which points are considered identical.

Vector3D 
intersection(Line line)
Get the intersection point of the instance and another line.

boolean 
isSimilarTo(Line line)
Check if the instance is similar to another line.

Vector3D 
pointAt(double abscissa)
Get one point from the line.

void 
reset(Vector3D p1,
Vector3D p2)
Reset the instance as if built from two points.

Line 
revert()
Get a line with reversed direction.

Vector3D 
toSpace(Point<Euclidean1D> point)
Transform a subspace point into a space point.

Vector3D 
toSpace(Vector<Euclidean1D> vector)
Transform a subspace point into a space point.

Vector1D 
toSubSpace(Point<Euclidean3D> point)
Transform a space point into a subspace point.

Vector1D 
toSubSpace(Vector<Euclidean3D> vector)
Transform a space point into a subspace point.

SubLine 
wholeLine()
Build a subline covering the whole line.

public Line(Vector3D p1, Vector3D p2, double tolerance) throws MathIllegalArgumentException
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 identicalMathIllegalArgumentException
 if the points are equalfromDirection(Vector3D, Vector3D, double)
public Line(Line line)
The created instance is completely independent from the original instance, it is a deep copy.
line
 line to copypublic static Line fromDirection(Vector3D point, Vector3D direction, double tolerance)
point
+ t * direction
, where t is any real number.point
 on the line. Can be any point.direction
 of the line. Must not be the zero vector.tolerance
 below which points are considered identical.MathIllegalArgumentException
 if direction
is the zero vector.Line(Vector3D, Vector3D, double)
public void reset(Vector3D p1, Vector3D p2) throws MathIllegalArgumentException
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)MathIllegalArgumentException
 if the points are equalpublic double getTolerance()
public Line revert()
public Vector3D getDirection()
public Vector3D getOrigin()
public double getAbscissa(Vector3D point)
The abscissa is 0 if the projection of the point and the projection of the frame origin on the line are the same point.
point
 point to checkpublic Vector3D pointAt(double abscissa)
abscissa
 desired abscissa for the pointpublic Vector1D toSubSpace(Vector<Euclidean3D> vector)
vector
 ndimension point of the spacepublic Vector3D toSpace(Vector<Euclidean1D> vector)
vector
 (n1)dimension point of the subspacepublic Vector1D toSubSpace(Point<Euclidean3D> point)
toSubSpace
in interface Embedding<Euclidean3D,Euclidean1D>
point
 ndimension point of the spacegetAbscissa(Vector3D)
public Vector3D toSpace(Point<Euclidean1D> point)
toSpace
in interface Embedding<Euclidean3D,Euclidean1D>
point
 (n1)dimension point of the subspacepointAt(double)
public boolean isSimilarTo(Line line)
Lines are considered similar if they contain the same points. This does not mean they are equal since they can have opposite directions.
line
 line to which instance should be comparedpublic boolean contains(Vector3D p)
p
 point to checkpublic double distance(Vector3D p)
p
 to checkpublic double distance(Line line)
line
 line to check against the instancepublic Vector3D closestPoint(Line line)
line
 line to check against the instancepublic Vector3D intersection(Line line)
line
 other linepublic SubLine wholeLine()
Copyright © 20162022 CS GROUP. All rights reserved.