A new algorithm to compute minimal surfaces [pdf]
cseweb.ucsd.edu
cseweb.ucsd.edu
Unlike most algorithms applied to this problem, it neither represents surfaces parametrically (i.e. s(x,y,z) = f(u,v) ) nor implicitly ( f(x,y,z)=0 ) nor using a mesh of triangles but instead uses differential forms.
As a result, it makes no initial assumptions for the surface's topology ... most other minimal surface solvers require some sort of "starting point" sheet to minimize from and said starting point implies what end topology you'll get.
This algo seems to only require the boundary and work out a solution from it.
Quite surprisingly they also claim to have found a way to make convex a notoriously non-convex problem which, when you try to optimize it, typically yields local minima.
Their claim to have transformed the problem into a convex one allows them to find the global minimum. I would have intuitively bet that this would not be possible.
The math is TBH too heavy for me to digest, but if the claim holds, this is quite an impressive feat.
I have not read everything but I think it's because the other representations (parametric and level set) are discrete in nature and thus allows only jumps from one solution to the other during the minimal surface search phase.
Here they approach the problem locally and their representation is continuous in space, allowing them to move from one solution to the other smoothly during the optimization step.
In the other representations, minimizing the surfaces implied to jump from one solution to another in a non-convex way, while here they can do a least squares optimization due to the continuous representation.
Yes, and they are making this explicit in the paper.
However, where my intuition "doesn't believe them" is because:
- The problem has *physical* local extrema (e.g. two 3D circles of identical radius and axis when dipped in a soap solution can yield either a catenoid or two flat disks. If the circles are close enough to one another, only the former is a true global extremum while the latter is a local one). I can't visualize a transformation of the problem that would somehow simply rub out those local extrema: once your optimizer gets close to the two circles, I'm having a hard time seeing how it can "jump" back to the catenoid, *especially* if the method is local.
- the border can have an arbitrarily complex shape. That's a *huge* space to design from for a pathological border that will yield a whole zoo of local extrema.
I'm willing to believe they found a way, but I need to learn about differential forms before I can even try to understand the paper.Also they claim to have published the source code to their algorithm, but upon download, it's turns out to be a binary turd that can only be interpreted by a proprietary package (Houdini) that coredumps on you unless it runs an OpenCL capable system.
Not exactly what I'd call easy to read code.