lineSegmentXYUVIntersectionUnbounded MethodStatic

Intersect two transverse or overlapping unbounded 2D line segments.

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

@returns intersection fractions:

  • If f1 is undefined, the intersection occurs at fraction f0.x along line A and f0.y along line B.
  • If f1 is defined, the line segments are parallel and overlap: 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.
  • If undefined, the lines are parallel without overlap.
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 }

intersection fractions:

  • If f1 is undefined, the intersection occurs at fraction f0.x along line A and f0.y along line B.
  • If f1 is defined, the line segments are parallel and overlap: 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.
  • If undefined, the lines are parallel without overlap.

Defined in

Last Updated: 07 June, 2025