@ue-too/curve / index / Line
類別: Line
定義於: packages/curve/src/line.ts:32
Line segment class with geometric utilities.
備註
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)
範例
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);
}建構函式
建構函式
new Line(
startPoint,endPoint):Line
定義於: packages/curve/src/line.ts:36
參數
startPoint
Point
endPoint
Point
回傳
Line
方法
getEndPoint()
getEndPoint():
Point
定義於: packages/curve/src/line.ts:45
回傳
Point
getStartPoint()
getStartPoint():
Point
定義於: packages/curve/src/line.ts:41
回傳
Point
getTranslationRotationToAlginXAxis()
getTranslationRotationToAlginXAxis():
object
定義於: packages/curve/src/line.ts:70
回傳
object
rotationAngle
rotationAngle:
number
translation
translation:
Point
intersectionWithAnotherLine()
intersectionWithAnotherLine(
lineToIntersect):object
定義於: packages/curve/src/line.ts:49
參數
lineToIntersect
Line
回傳
object
intersection?
optionalintersection:Point
intersects
intersects:
boolean
offset?
optionaloffset:number
length()
length():
number
定義於: packages/curve/src/line.ts:66
回傳
number
lerp()
lerp(
ratio):Point
定義於: packages/curve/src/line.ts:103
參數
ratio
number
回傳
Point
pointInLine()
pointInLine(
point):boolean
定義於: packages/curve/src/line.ts:80
參數
point
Point
回傳
boolean
projectPoint()
projectPoint(
point):object
定義於: packages/curve/src/line.ts:58
參數
point
Point
回傳
object
offset?
optionaloffset:number
projectionPoint?
optionalprojectionPoint:Point
within
within:
boolean