1 / 23

Dual Marching Cubes: An Overview

Dual Marching Cubes: An Overview. Paper by Gregory M. Nielson. Purpose. Improve existing Marching Cube algorithm Eliminate or reduce poorly shaped triangles Eliminate or reduce wonky specular highlights. Motivation. Duality Principal of Projective Geometry

freja
Télécharger la présentation

Dual Marching Cubes: An Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dual Marching Cubes: An Overview Paper by Gregory M. Nielson

  2. Purpose • Improve existing Marching Cube algorithm • Eliminate or reduce poorly shaped triangles • Eliminate or reduce wonky specular highlights

  3. Motivation • Duality Principal of Projective Geometry • All propositions occur in dual pairs. • One can infer the corresponding proposition of a pair by interchanging the words point and line. • Dual Polyhedra • For every polyhedron there is another polyhedron where faces and vertices occupy complementary locations.

  4. Examples:

  5. What Is Needed • Develop a correspondence between the surface elements of a mesh and the vertices of some other mesh. • Both meshes must have specific properties for this to occur.

  6. Creating a Dual Surface • Create a “patch” surface realized by eliminating the edges of the interior surface to the voxels. • Make each patch of the new surface polygon bounded. • Include each vertex of the original MC surface in exactly four patches. • Call this surface S.

  7. Creating a Dual Surface, pt. 2 • The dual surface will consist of quad patches. • The connectivity of the patches is the same as the connectivity of the vertices of the surface S • Now exploit duality principal.

  8. Marching Cubes Defined • Input: Fi,j,k = F(ix, jy, kz) • Denote the voxel: (ix, jy, kz) to ((I+1)x, (j+1)y, (k+1)z) • By: Bijk • Separate lattice points with: Fi,j,k > a

  9. Defining the Patch • The patch surface has a fine structure given that it consist of three mutually orthogonal planar curves. • Let Fj where j = 1, …, M denote the patches of S and Fj = (Vj1, V,j2 …, Vj3) where j = 1, …, M denote the vertices of each patch.

  10. Defining the Patch, cont. • Each vertex of S lies on the edge of the lattice. • Four voxels share each edge of the lattice. • Thus each vertex, Vj, has exactly four patches of S that contain it.

  11. Defining the Patch, cont. • Let X(X) be the space of surfaces produced by allowing the vertices of S to slide anywhere along their respective lattice edges. • The edges (of the lattice) joining a point in X to points not in X are the same edges containing the vertices of the MC surface.

  12. Defining the Dual • For S in X(X) S is a surface comprised of quad patches with the following properties: • For each patch Fj of S there is a vertex of S lying in the interior of the voxel containing Fj • For every vertex of S there is one quad patch Pj of S • For every edge of S there is an associated edge of S

  13. Four Adjacent Patches Dual and Patch Surface

  14. Summary of Definitions • The topology for both the patch space, X(X), and the dual space (X) is completely determined by the subset X of the lattice L • The connectivity of the vertices of X(X) is the same as the connectivity of the patches of (X) and vice versa. • There is a one-to-one coorespondance between the edges of S and S. The edge joining two vertices of S cooresponds to the common edge of their associated quad patches.

  15. Producing the Dual Directly • It is not necessary to produce the patch surface and then the dual surface afterwards. • There is a triangulation (quadulation?) table for computing the dual surface directly.

  16. MC Triangulator Dual Rectangulator

  17. Examples of the Dual Surface Splatting: Mesh Viewing:

  18. Improvement of Specular Lighting

  19. Viewing Segmented Volumes • The original volume with the samples of the function is not needed in order to apply the algorithm. • Using the separating midpoint surface we can still view the mesh using the algorithm

  20. Utilizing the Duality Principal • Since the correspondance is one-to-one we have an inverse mapping back into the patch space • Triangulation of Quadrilaterals will need to occur.

  21. To Infinity and Beyond • Repeated application of the v operator leads to increasing approximation of the original object. • Eventually the v operator has no effect on the surface produced. • This staged is called the fixed-point shroud.

  22. Summary: Pros • A definite refinement over the standard MC algorithm. • Reduces visual artifacts from elongated triangles and improves specular lighting. • Allows the user to define the level of precision in the final mesh.

  23. Summary: Cons • Not all surfaces produced are manifolds. • Normals, Curvature, etc • Simplification, Multiresolution, etc. • Quad rendering is somewhat slower. • Complexity? • Parallelism?

More Related