Top Banner
Dual Marching Cubes: An Overview Paper by Gregory M. Nielson
23

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

Dec 18, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Dual Marching Cubes: An Overview Paper by Gregory M. Nielson.

Dual Marching Cubes: An Overview

Paper by Gregory M. Nielson

Page 2: 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

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

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.

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

Examples:

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

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.

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

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.

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

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.

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

Marching Cubes Defined

• Input: Fi,j,k = F(ix, jy, kz)

• Denote the voxel: (ix, jy, kz) to ((I+1)x, (j+1)y, (k+1)z)

• By: Bijk

• Separate lattice points with: Fi,j,k > a

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

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.

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

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.

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

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.

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

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

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

Four Adjacent Patches

Dual and PatchSurface

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

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.

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

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.

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

MC Triangulator Dual Rectangulator

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

Examples of the Dual Surface

Splatting: Mesh Viewing:

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

Improvement of Specular Lighting

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

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

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

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.

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

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.

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

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.

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

Summary: Cons

• Not all surfaces produced are manifolds.– Normals, Curvature, etc– Simplification, Multiresolution, etc.

• Complexity?• Parallelism?

• Quad rendering is somewhat slower.