1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-01-17 14:18:13 +01:00
dotSCAD/docs/lib3x-lines_intersection.md
2022-06-06 13:11:46 +08:00

27 lines
841 B
Markdown

# lines_intersection
Find the intersection of two line segments. Return `[]` if lines don't intersect.
**Since:** 2.4
## Parameters
- `line1` : Two points of 2D or 3D line1.
- `line2` : Two points of 2D or 3D line2.
- `ext` : Default to `false`, which doesn't extend a line to an intersection with another line.
- `epsilon` : An upper bound on the relative error due to rounding in floating point arithmetic. Default to 0.0001.
## Examples
use <lines_intersection.scad>
line1 = [[0, 0], [0, 10]];
line2 = [[5, 0], [-5, 5]];
line3 = [[5, 0], [2.5, 5]];
assert(lines_intersection(line1, line2) == [0, 2.5]);
assert(lines_intersection(line1, line3, ext = true) == [0, 10]);
line4 = [[0, 0, 0], [10, 10, 10]];
line5 = [[10, 0, 0], [0, 10, 10]];
assert(lines_intersection(line4, line5) == [5, 5, 5]);