A geometry engine from first principles (camp2023)

Published: Aug. 17, 2023, 3:50 p.m.

b'Three years ago, I started what I thought would be a six month project to implement some CAM software for 3D printing purposes, without using any of the existing geometry kernels. How hard can it be, right? I made some choices that seem weird but were done for very good reasons, and ended up implementing some things that are actually new and exciting. Here\\u2019s the story of the adventure so far.\\n\\nAs the adoptive maintainer of one piece of 3D printing toolchain (ImplicitCAD, a programmable 3D modelling tool), I made the possibly unwise decision to implement another part of the toolchain - HSlice, a slicer. For a number of reasons I\\u2019ll get into in detail later, I decided to not use any of the existing multi-million-LoC geometry kernels, to implement the whole thing from first principles in Haskell, and to use some exciting new mathematics. All of those decisions were made for good reasons, and all of them came back to bite me. I\\u2019m here to tell you about what I\\u2019ve built so far, how I ended up as the singular intersection of these technologies, and how much I hate floating point. Then, I\\u2019ll tell you what it\\u2019s like implementing things whose only documentation is research papers, with math developed this century and algorithms that are still in development now. I\\u2019ll tell you about some incredibly cool algorithms involving crashing Austrian motorcycles and attempt to recruit you to work on this stuff too, for free.\\nabout this event: https://pretalx.c3voc.de/camp2023/talk/7KRCLF/'