diff options
| author | Sadeep Madurange <sadeep@asciimx.com> | 2026-05-09 12:29:34 +0800 |
|---|---|---|
| committer | Sadeep Madurange <sadeep@asciimx.com> | 2026-05-09 12:29:46 +0800 |
| commit | 21abcccf6fc7444483ca60bb1c4af97924d88d8f (patch) | |
| tree | feb3d455c296291ff51def978fa6b3125f4de5cc | |
| parent | d3097426c9d97fa3c219d1a10c428431f4783635 (diff) | |
| download | www-21abcccf6fc7444483ca60bb1c4af97924d88d8f.tar.gz | |
Improve accuracy of phrasing in geometry kernel.minimalist
| -rw-r--r-- | _log/2d-geometry-kernel.md | 11 |
1 files changed, 6 insertions, 5 deletions
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. |
