mirror of
https://github.com/revarbat/BOSL2.git
synced 2025-01-16 13:50:23 +01:00
Added points_are_collinear(). Renamed pointslist_is_coplanar() to points_are_coplanar()
This commit is contained in:
parent
c1e3f5d60a
commit
602e850d24
@ -779,6 +779,21 @@ function polygon_line_intersection(poly, line, bounded=false, eps=EPSILON) =
|
||||
res[0];
|
||||
|
||||
|
||||
// Function: points_are_collinear()
|
||||
// Usage:
|
||||
// points_are_collinear(points);
|
||||
// Description:
|
||||
// Given a list of points, returns true if all points in the list are collinear.
|
||||
// Arguments:
|
||||
// points = The list of points to test.
|
||||
// eps = How much variance is allowed in testing that each point is on the same line. Default: `EPSILON` (1e-9)
|
||||
function points_are_collinear(points, eps=EPSILON) =
|
||||
let(
|
||||
a = furthest_point(points[0], points),
|
||||
b = furthest_point(points[a], points)
|
||||
) all([for (pt = points) collinear(points[a], points[b], pt, eps=eps)]);
|
||||
|
||||
|
||||
// Function: coplanar()
|
||||
// Usage:
|
||||
// coplanar(plane, point);
|
||||
@ -794,15 +809,15 @@ function coplanar(plane, point, eps=EPSILON) =
|
||||
abs(distance_from_plane(plane, point)) <= eps;
|
||||
|
||||
|
||||
// Function: pointslist_is_coplanar()
|
||||
// Function: points_are_coplanar()
|
||||
// Usage:
|
||||
// pointslist_is_coplanar(points);
|
||||
// points_are_coplanar(points);
|
||||
// Description:
|
||||
// Given a list of points, returns true if all points in the list are coplanar.
|
||||
// Arguments:
|
||||
// points = The list of points to test.
|
||||
// eps = How much variance is allowed in testing that each point is on the same plane. Default: `EPSILON` (1e-9)
|
||||
function pointslist_is_coplanar(points, eps=EPSILON) =
|
||||
function points_are_coplanar(points, eps=EPSILON) =
|
||||
let(
|
||||
plane = plane_from_pointslist(points, fast=true, eps=eps)
|
||||
) all([for (pt = points) coplanar(plane, pt, eps=eps)]);
|
||||
|
@ -8,7 +8,7 @@
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
BOSL_VERSION = [2,0,185];
|
||||
BOSL_VERSION = [2,0,186];
|
||||
|
||||
|
||||
// Section: BOSL Library Version Functions
|
||||
|
Loading…
x
Reference in New Issue
Block a user