[comp.graphics.visualization] Marching Cubes and holes

stam@dgp.toronto.edu (Jos Stam) (04/27/91)

I got several replies concerning the problem I posted about the "marching
cube" algorithm to display (triangularize) implicit surfaces. The problem
is that certain triangles are not generated (the normals are ok, as I can
see the interior of the surface through the hole...).

Everyone pointed me to the ambiguous case: (in 2D)


                  +   /     -               +      \   -
                     /                              \____
                    /        /
                   /        /      or
                  /        /               ___
                 /        /                   \
                  -      /  +               -  \       +

which might be the cause of the problem.

However, my "holes" appear when the surface is nearly planar and isn't caused
by the ambiguous case. My suspicion is that in certain extreme cases all
the vertices of a cube are evaluated positively due to round-off errors, and
hence no triangle is generated.

One way to solve this problem is to store along with the vertices of the
cubes, the corresponding vertex of the triangle generated. But this is tricky to
program (I haven't tried it tho...) and increases storage by a large 
factor.

If ever I solve this problem I'll post it to the net...

cheers,
Jos