Minkowski sum starts to fly in #geogram (WIP...)
Let's call it a day
<END OF LINE>
Today's result, from OpenSCAD test suite
I'm using Hichem Barki's algorithm (love it, because it does not require decomposition into convex parts):
https://dl.acm.org/doi/10.1007/3DRes.04%282013%291
Hichem's method first creates a superset of the Minkowski sum (first image) that needs to be cleaned (second image). For the cleaning phase, my algorithm in https://dl.acm.org/doi/10.1145/3744642 seems to work reasonably well...
geogram/src/lib/geogram/mesh/mesh_minkowski.cpp at main · BrunoLevy/geogram

a programming library with geometric algorithms. Contribute to BrunoLevy/geogram development by creating an account on GitHub.

GitHub
@BrunoLevy01 Although I have been a software developer for 30 years, and even prefer to design GUIs using code rather than GUI tools, I just can't get to grips with OpenSCAD. In this context, I really need the visual aspect. I admire everyone who uses it to create great, parameterizable models. For me, it's just not the right tool.
@layered OpenSCAD is ideal for me, because it lets me automate non-regression tests, but of course for some modelling tasks I'd rather use an interactive modeler ! Depends whether the geometry is "procedural" in nature...
@BrunoLevy01 Does the first surface need to be a closed volume or can it be any open surface?
@nervous_jesse a-priori it needs to be a closed surface, but it is not impossible to make it work for open surfaces, I will think about it....
@BrunoLevy01 Naively, one could construct an infinitesimally offset surface, and just use that.
@nervous_jesse it will be simpler (and safer regarding numerical problems) to change the algorithm a little bit: the parts of the algorithm that refers to the normals of the facets of surface A need to be duplicated, once with the normal of the facet, and once with minus the normal of the facet. Your question is a nice idea (gives a way of "volumetrizing" a surface, and 3D-printing it !)
@nervous_jesse ... I need to resist testing the idea ... I have a @#@! project proposal to finish before !!!