From cce1c58645a1631506abb825f4600f24d142e91c Mon Sep 17 00:00:00 2001 From: Mikhail Allen Date: Tue, 1 Jun 2021 15:37:23 -0400 Subject: [PATCH] fixed behavior for finding center of undefined circles --- src/geo/base.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/geo/base.js b/src/geo/base.js index 38180d4b..7e874ebf 100644 --- a/src/geo/base.js +++ b/src/geo/base.js @@ -321,12 +321,15 @@ */ function circleCenter(A,B,C) { + let denominator = 2*determinant33([[A.x, A.y, 1], [B.x, B.y, 1], [C.x, C.y, 1]]); let xmat = [[A.x*A.x + A.y*A.y, A.y, 1],[B.x*B.x + B.y*B.y, B.y, 1],[C.x*C.x + C.y*C.y, C.y, 1]]; let ymat = [[A.y, A.x*A.x + A.y*A.y, 1],[B.y, B.x*B.x + B.y*B.y, 1],[C.y, C.x*C.x + C.y*C.y, 1]]; - let center = {x:determinant33(xmat), y:determinant33(ymat), z:A.z}; + let center = {x:determinant33(xmat)/denominator, y:determinant33(ymat)/denominator, z:A.z}; - return center; + if (denominator !== 0) { + return center; + } } /**