Math::line Class Reference
#include <line.h>
Detailed Description
A line in 3d space.(C) 2004 RadonLabs GmbH
Public Member Functions | |
line () | |
default constructor | |
line (const point &startPoint, const point &endPoint) | |
component constructor | |
line (const line &rhs) | |
copy constructor | |
void | set (const point &startPoint, const point &endPoint) |
set start and end point | |
const point & | start () const |
get start point | |
point | end () const |
get end point | |
const vector & | vec () const |
get vector | |
scalar | length () const |
get length | |
scalar | lengthsq () const |
get squared length | |
scalar | distance (const point &p) const |
minimal distance of point to line | |
bool | intersect (const line &l, point &pa, point &pb) const |
intersect with line | |
scalar | closestpoint (const point &p) const |
return t of the closest point on the line | |
point | pointat (scalar t) const |
return p = b + m*t |
Member Function Documentation
intersect with line
Get line/line intersection. Returns the shortest line between two lines.
- Todo:
- : Untested! Replace with simpler code.
scalar Math::line::closestpoint | ( | const point & | p | ) | const [inline] |
return t of the closest point on the line
Returns a point on the line which is closest to a another point in space. This just returns the parameter t on where the point is located. If t is between 0 and 1, the point is on the line, otherwise not. To get the actual 3d point p:
p = m + b*t
point Math::line::pointat | ( | scalar | t | ) | const [inline] |
return p = b + m*t
Returns p = b + m * t, given t. Note that the point is not on the line if 0.0 > t > 1.0