From 7c40e28e6484a3d4a3044f0f1e7b83b55ade751d Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Mon, 4 Apr 2022 21:27:11 +0800 Subject: [PATCH] det == 0 is never error --- src/triangle/_impl/_tri_delaunay_impl.scad | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/triangle/_impl/_tri_delaunay_impl.scad b/src/triangle/_impl/_tri_delaunay_impl.scad index fc56939a..3e2fa7f3 100644 --- a/src/triangle/_impl/_tri_delaunay_impl.scad +++ b/src/triangle/_impl/_tri_delaunay_impl.scad @@ -18,16 +18,13 @@ function _tri_circumcircle(shape_pts) = d0 = (p1 + p0) / 2 * v0, v1 = p2 - p1, d1 = (p2 + p1) / 2 * v1, - det = -cross(v0 , v1) + det = -cross(v0 , v1), + x = (d1 * v0.y - d0 * v1.y) / det, + y = (d0 * v1.x - d1 * v0.x) / det, + center = [x, y], + v = p0 - center ) - det == 0 ? undef : - let( - x = (d1 * v0.y - d0 * v1.y) / det, - y = (d0 * v1.x - d1 * v0.x) / det, - center = [x, y], - v = p0 - center - ) - [center, v * v]; + [center, v * v]; function cc_center(cc) = cc[0]; function cc_rr(cc) = cc[1];