From 21abcccf6fc7444483ca60bb1c4af97924d88d8f Mon Sep 17 00:00:00 2001 From: Sadeep Madurange Date: Sat, 9 May 2026 12:29:34 +0800 Subject: Improve accuracy of phrasing in geometry kernel. --- _log/2d-geometry-kernel.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to '_log/2d-geometry-kernel.md') diff --git a/_log/2d-geometry-kernel.md b/_log/2d-geometry-kernel.md index 0c47554..9370d06 100644 --- a/_log/2d-geometry-kernel.md +++ b/_log/2d-geometry-kernel.md @@ -11,13 +11,13 @@ design system lacked a geometry kernel; project had stalled. Small geometries (hundreds of points)—mostly 2D. No frame budget or low-latency requirements. Architects and structural engineers supplied the test cases. -Numerical parity with Rhino 3D was mandatory. +Numerical parity with Rhino was mandatory. Implemented polygon clipping with Sutherland–Hodgman. No drama. Polygon offsets had always been problematic. Architects flagged two Z and H-shaped floor plans where offsets produced self-intersections that tripped -Rhino 3D. Instead of straight skeletons, implemented a custom solver that fixed +Rhino. Instead of straight skeletons, implemented a custom solver that fixed invalid loops by backtracking. Fortune's algorithm for Voronoi diagrams was a missed opportunity. Implemented @@ -29,9 +29,10 @@ convex and concave polygons. Found a paper on the convex case but couldn't bridge the gap from theory to implementation. Fell back to a brute-force grid search: 12% gain over the existing approach, but not the true optimum. -Rhino 3D's geometry model was numerically incompatible with Apache Commons' -Binary Space Partitioning—intersections didn't match. Replaced BSP trees with -point-based structures. JBLAS stabilized intersection results between systems. +Rhino uses points, vectors, planes, and linear algebra (via BLAS). Java system +used Binary Space Partitioning. The two were numerically incompatible. Replaced +BSP trees with vector-based structures. JBLAS aligned the linear algebra with +Rhino's. Migration resumed. No regressions in the building layouts. -- cgit v1.2.3