Implicit Representations of Surfaces and Polygonalization Algorithms Dr

  • Slides: 47
Download presentation
Implicit Representations of Surfaces and Polygonalization Algorithms Dr. Scott Schaefer

Implicit Representations of Surfaces and Polygonalization Algorithms Dr. Scott Schaefer

Polygon Models § Advantages w Explicit connectivity information w Easy to render w (Relatively)

Polygon Models § Advantages w Explicit connectivity information w Easy to render w (Relatively) small storage § Disadvantages w Topology changes difficult w Inside/Outside test hard 2/47

Implicit Representations of Shape § Shape described by solution to f(x)=c 3/47

Implicit Representations of Shape § Shape described by solution to f(x)=c 3/47

Implicit Representations of Shape § Shape described by solution to f(x)=c 4/47

Implicit Representations of Shape § Shape described by solution to f(x)=c 4/47

Implicit Representations of Shape § Shape described by solution to f(x)=c -- - ---5/47

Implicit Representations of Shape § Shape described by solution to f(x)=c -- - ---5/47

Implicit Representations of Shape § Shape described by solution to f(x)=c + + +

Implicit Representations of Shape § Shape described by solution to f(x)=c + + + -- - -+ + + 6/47

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations 7/47

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations + + + -- - -+ -+ + 8/47

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations 9/47

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations w Union 10/47

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations w Union 11/47

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations + w Union + + + - - - + + 12/47

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test + CSG operations + w Union + - - + + 13/47

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test + CSG operations + -+ w Union + + + -+ - - - - - + ++ 14/47

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations + w Union + + - - -+ + 15/47

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test + + CSG operations + + w Union + + w Intersection + + - + ++ + + 16/47

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations + w Union + w Intersection + - + 17/47

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test + + CSG operations + + w Union + + w Intersection + + - + ++ w Subtraction + + 18/47

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations + + + w Union + + w Intersection + + w Subtraction + + + - 19/47

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations + w Union w Intersection -- + + w Subtraction -- -+ + 20/47

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test

Advantages § § No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations w Union w Intersection w Subtraction 21/47

Disadvantages § Hard to render - no polygons § Creating polygons amounts to root

Disadvantages § Hard to render - no polygons § Creating polygons amounts to root finding § Arbitrary shapes hard to represent as an analytic function § Certain operations (like simplification) can be difficult 22/47

Non-Analytic Implicit Functions § Sample functions over grids 23/47

Non-Analytic Implicit Functions § Sample functions over grids 23/47

Non-Analytic Implicit Functions § Sample functions over grids 24/47

Non-Analytic Implicit Functions § Sample functions over grids 24/47

Data Sources 25/47

Data Sources 25/47

Data Sources 26/47

Data Sources 26/47

Data Sources 27/47

Data Sources 27/47

Data Sources 28/47

Data Sources 28/47

Data Sources 29/47

Data Sources 29/47

Data Sources 30/47

Data Sources 30/47

2 D Surface Reconstruction 31/47

2 D Surface Reconstruction 31/47

2 D Surface Reconstruction 32/47

2 D Surface Reconstruction 32/47

2 D Surface Reconstruction 33/47

2 D Surface Reconstruction 33/47

2 D Surface Reconstruction 34/47

2 D Surface Reconstruction 34/47

2 D Surface Reconstruction 35/47

2 D Surface Reconstruction 35/47

Marching Cubes 36/47

Marching Cubes 36/47

Marching Cubes 37/47

Marching Cubes 37/47

Dual Contouring § Place vertices inside of square § Generate segments across edges with

Dual Contouring § Place vertices inside of square § Generate segments across edges with zero § Dual to polygons produced by MC 38/47

Comparison of Primal/Dual § Produces well-shaped quads § Allows more freedom in positioning vertices

Comparison of Primal/Dual § Produces well-shaped quads § Allows more freedom in positioning vertices Marching Cubes (Primal) Dual Contouring (Dual) 39/47

Dual Contouring With Hermite Data § Place vertices at minimizer of QEFs § Generate

Dual Contouring With Hermite Data § Place vertices at minimizer of QEFs § Generate segments across edges with zeros 40/47

Comparison Marching Cubes Dual Contouring 41/47

Comparison Marching Cubes Dual Contouring 41/47

Contouring Signed Octrees § For each minimal edge with zero, w Connect vertices of

Contouring Signed Octrees § For each minimal edge with zero, w Connect vertices of cubes containing edge § Constructs closed surface mesh for any octree 42/47

Fast Polygon Generation § Recursive octree traversal § Linear time in size of octree

Fast Polygon Generation § Recursive octree traversal § Linear time in size of octree 43/47

Extensions § § Multiple materials CSG operations Simplification via QEFs Topological safety 44/47

Extensions § § Multiple materials CSG operations Simplification via QEFs Topological safety 44/47

Dual Marching Cubes § Generate cells for contouring using the dual of the octree

Dual Marching Cubes § Generate cells for contouring using the dual of the octree § Creates adaptive, crack-free partitioning of space § Use Marching Cubes on dual cells to construct polygons 45/47

Dual Marching Cubes § Enumerate dual grid using recursive walk w Three types of

Dual Marching Cubes § Enumerate dual grid using recursive walk w Three types of recursive calls 46/47

Dual Marching Cubes § Advantages w Always creates a manifold surface w Same as

Dual Marching Cubes § Advantages w Always creates a manifold surface w Same as Marching Cubes over uniform grids w Works well for data centered in cells § Disadvantages w Octrees with data at vertices instead of cells w ? … 47/47