@ue-too/curve / Line
Class: Line
Defined in: packages/curve/src/line.ts:32
Line segment class with geometric utilities.
Remarks
Represents a straight line segment between two points with operations for:
- Line-line intersection
- Point projection onto line
- Point-in-line testing
- Linear interpolation (lerp)
Example
const line = new Line({ x: 0, y: 0 }, { x: 100, y: 100 });
// Get length
console.log('Length:', line.length());
// Interpolate at midpoint
const mid = line.lerp(0.5); // { x: 50, y: 50 }
// Project a point onto the line
const result = line.projectPoint({ x: 50, y: 0 });
if (result.within) {
console.log('Projection:', result.projectionPoint);
}Constructors
Constructor
new Line(
startPoint,endPoint):Line
Defined in: packages/curve/src/line.ts:36
Parameters
startPoint
Point
endPoint
Point
Returns
Line
Methods
getEndPoint()
getEndPoint():
Point
Defined in: packages/curve/src/line.ts:45
Returns
Point
getStartPoint()
getStartPoint():
Point
Defined in: packages/curve/src/line.ts:41
Returns
Point
getTranslationRotationToAlginXAxis()
getTranslationRotationToAlginXAxis():
object
Defined in: packages/curve/src/line.ts:70
Returns
object
rotationAngle
rotationAngle:
number
translation
translation:
Point
intersectionWithAnotherLine()
intersectionWithAnotherLine(
lineToIntersect):object
Defined in: packages/curve/src/line.ts:49
Parameters
lineToIntersect
Line
Returns
object
intersection?
optionalintersection:Point
intersects
intersects:
boolean
offset?
optionaloffset:number
length()
length():
number
Defined in: packages/curve/src/line.ts:66
Returns
number
lerp()
lerp(
ratio):Point
Defined in: packages/curve/src/line.ts:103
Parameters
ratio
number
Returns
Point
pointInLine()
pointInLine(
point):boolean
Defined in: packages/curve/src/line.ts:80
Parameters
point
Point
Returns
boolean
projectPoint()
projectPoint(
point):object
Defined in: packages/curve/src/line.ts:58
Parameters
point
Point
Returns
object
offset?
optionaloffset:number
projectionPoint?
optionalprojectionPoint:Point
within
within:
boolean