libera/#shirakumo - IRC Chatlog
Search
10:35:38
paulapatience
I've been using VTK's implementation of marching cubes to generate my meshes, thinking that it wasn't going to generate non-manifold meshes for my cases, but yesterday I realized that it does, which makes it unusable. Now I have to figure out which other algorithm to use. I've already implemented marching tetrahedra, and I think that always generates manifold meshes, but it's like the
11:09:16
Colleen
<shinmera> could probably fix up manifolds:separate-meshes to handle those cases, too
11:13:11
paulapatience
Lewiner's 2003 implementation gives watertight meshes, but VTK implements Lorensen's algorithm from 1987
11:14:18
paulapatience
I've been meaning to port Lewiner's C++ code to Lisp, because there's no way I'm figuring out the cases by hand, but it's quite boring.
11:15:02
paulapatience
And I've seen papers presenting some improvements to Lewiner's algorithm, one specifically by Roberto Grosso. That's the last one I started porting but it's nowhere near done
11:15:23
Colleen
<shinmera> fwiw I initially wrote manifolds to implement an algo to turn any mesh into a manifold, but I never completed the port lol
11:17:22
paulapatience
I'm unfortunately a complete noob in geometry. I'd have to read up to figure out how to postprocess what I've got to fix the watertightness. It's almost an accident that I spent one third of my PhD writing code to generate meshes.
11:18:03
paulapatience
And I've got three weeks until my conference, so I don't really have time to implement an algorithm from scratch
11:18:33
paulapatience
I eventually wanted to have several contouring algorithms implemented in Lisp, but since it's not the main purpose of my PhD I haven't been able to get around to it
11:23:31
paulapatience
Many of the new papers also offer their implementations as open source but they use CUDA
16:08:24
Colleen
<gingerale> shinmera: By the way, the FORMAT-MACHINE-DATE function in Radiance's toolkit.lips lacks the "Z" from the end. Or :GMT-OFFSET-OR-Z argument, if you prefer. This causes the UTC time to be read as local time when parsed.