lineSegmentXYUVOverlapUnbounded MethodStatic

Intersect two overlapping unbounded 2D lines.

lineSegmentXYUVOverlapUnbounded(a0: Readonly<WritableXAndY>, aDir: Readonly<WritableXAndY>, b0: Readonly<WritableXAndY>, bDir: Readonly<WritableXAndY>, tol: numberGeometry.smallMetricDistance): undefined | { f0: WritableXAndY, f1: WritableXAndY }

@returns undefined if the lines have a simple (transverse) intersection, or are parallel without overlap. Otherwise, return the fractions at which each segment overlaps the other line:

  • segment B maps to fractions in the range f0.x < f1.x on line A.
  • segment A maps to fractions in the range f0.y < f1.y on line B.

@see lineXYUVTransverseIntersection, lineSegmentXYUVIntersectionUnbounded

Parameter Type Description
a0 Readonly<WritableXAndY> start point of line A
aDir Readonly<WritableXAndY> direction vector of line A; end point of line segment A is a0 + aDir
b0 Readonly<WritableXAndY> start point of line B
bDir Readonly<WritableXAndY> direction vector of line B; end point of line segment B is b0 + bDir
tol number overlap distance tolerance

Returns - undefined | { f0: WritableXAndY, f1: WritableXAndY }

undefined if the lines have a simple (transverse) intersection, or are parallel without overlap. Otherwise, return the fractions at which each segment overlaps the other line:

  • segment B maps to fractions in the range f0.x < f1.x on line A.
  • segment A maps to fractions in the range f0.y < f1.y on line B.

Defined in

Last Updated: 07 June, 2025