Gokul Varadhan - PowerPoint PPT Presentation

1 / 79
About This Presentation
Title:

Gokul Varadhan

Description:

Extended Dual Contouring ... Extended Dual Contouring. Enumerate intersection points ... edges of the cell and stay. outside at all times. Gokul ... – PowerPoint PPT presentation

Number of Views:27
Avg rating:3.0/5.0
Slides: 80
Provided by: gok78
Category:

less

Transcript and Presenter's Notes

Title: Gokul Varadhan


1
Feature-Sensitive Subdivision and Isosurface
Reconstruction
  • Gokul Varadhan

Dinesh Manocha
University of North Carolina at Chapel Hill
Shankar Krishnan AT T Labs
Young J. Kim Ewha University
http//gamma.cs.unc.edu/recons
2
Implicit Surface Representation
  • Common in computer graphics and geometric
    modeling
  • Represent the object with a implicit function
    f(p) where p is a point

3
Distance Function
  • f(p) measures the distance between p and the
    surface of the object

f(p)
p
4
Geometry Processing
Boolean operations (union, intersection)
Offset
5
Overall Approach
  • Subdivision
  • Generate a voxel grid and compute signed distance
    at the grid points
  • Geometric operation (union/intersection),
    corresponds to an algebraic operation (min/max)
  • Isosurface Reconstruction
  • Extract an isosurface from the resulting distance
    field

6
Issues
  • Accuracy depends upon
  • Choice of isosurface reconstruction algorithm
  • Rate of sampling, i.e., resolution of the
    underlying grid

7
Unwanted Handles
Thin Features
CAD Model 8 Boolean operations
Marching Cubes 64 x 64 x 64
8
Issues
  • Final surface has lots of sharp features
  • We would like to reconstruct them faithfully

9
Multiple Sharp Features
10
Our Goal
  • Reconstruct thin features without creating
    unwanted handles
  • Reconstruct all the sharp features and prevent
    aliasing

11
Previous Work
  • Isosurface Reconstruction
  • Sampling

12
Previous Work Isosurface Reconstruction
  • Marching Cubes Lorenzen Cline 1987
  • Discretized Marching Cubes Montani et al. 1994
  • Sharp Features
  • Extended Marching Cubes Kobbelt et al. 2001
  • Dual Contouring Ju et al. 2002
  • Optimization Ohtake et al. 2001
  • Topology simplification and control Wood et al.
    2002, Bischoff Kobbelt 2002

13
Previous Work Sampling
  • Adaptive grids Wilhelms Gelder 1992, Shekhar
    et al. 1996, Frisken et al. 2000

14
Issues
  • Choice of isosurface reconstruction algorithm?

15
Dual Contouring
  • 1. For each cell that exhibits a sign change,
    generate an error-minimizing vertex

16
Dual Contouring
  • 2. For each edge that exhibits a sign change,
    connect the minimizing vertices of the cells
    sharing that edge

A
C
B
17
Problems
  • Unwanted handles due to thin features
  • Aliasing due to sharp features

18
Thin Features
A
B
A
B
C
D
C
D
19
Unwanted Handles
  • Caused by thin features

CAD Model 8 Boolean operations
Dual Contouring 64 x 64 x 64
20
Problems
  • Unwanted handles due to thin features
  • Aliasing due to sharp features

21
Sharp Features
  • Intersecting surfaces ? sharp features

22
Sharp Features
  • Multiple sharp features within a cell

23
Aliasing
  • Occurs when sharp features are close to each other

24
Main Results
  • Reconstruct thin features without creating
    unwanted handles
  • Reconstruct all the sharp features and prevent
    aliasing

Extended Dual Contouring
Feature-Sensitive Subdivision
25
Outline
  • Extended Dual Contouring
  • Feature-Sensitive Subdivision
  • Results

26
Complex Edges
  • An edge is complex if
  • It is intersecting
  • Does not exhibit a sign change
  • Complex edges arise in the vicinity of thin
    features
  • They result in unwanted handles

A
B
C
D
27
Detecting complex edges
  • Test if an edge is intersecting and check the
    signs at its endpoints
  • Need a reliable test for edge intersection

28
Reliable Edge-Intersection Test
A
B
AB is intersecting iff D AB (A) lt AB where
D v (p) Directed distance at p along direction
vector v
C
D
29
Handling complex edges
  • Approach 1 Subdivide grid cells with complex
    edges
  • Accurate
  • Can result in excessive grid refinement and
    reduce performance
  • Approach 2 Modify the reconstruction algorithm
    to handle complex edges
  • Extended Dual Contouring

30
Extended Dual Contouring
Enumerate intersection points
Component Separation
Compute minimizing vertices
Connect minimizing vertices
31
Extended Dual Contouring
Use edge-intersection test to enumerate all
the intersection points
Enumerate intersection points
Component Separation
Compute minimizing vertices
Connect minimizing vertices
32
Extended Dual Contouring
Enumerate intersection points
Separate the set of intersection points into
different components
Component Separation
Compute minimizing vertices
Connect minimizing vertices
33
Extended Dual Contouring
Enumerate intersection points
Component Separation
Compute minimizing vertex for each
component independently
Compute minimizing vertices
Connect minimizing vertices
34
Extended Dual Contouring
Enumerate intersection points
Component Separation
Compute minimizing vertices
Connect minimizing vertices of adjacent cells
Connect minimizing vertices
35
Step 1 Enumerate Intersection Points
I i1 , i2 , i3 , i4
A
B
E
i2
i1
i4
i3
F
C
D
36
Extended Dual Contouring
Enumerate intersection points
Separate the set of intersection points into
different components
Component Separation
Compute minimizing vertices
Connect minimizing vertices
37
Step 2 Component Separation
  • Two intersection points i, j ? I belong to the
    same connected component,

If and only if we can walk from i to j along
the edges of the cell and stay outside at all
times
38
Step 2 Component Separation
Components i1 , i2, i3 , i4
A
B
E
i1
i2
i4
i3
F
C
D
39
Step 2 Component Separation
  • Guessing the local topology
  • Does not guarantee correct topology

40
Extended Dual Contouring
Enumerate intersection points
Component Separation
Compute minimizing vertex for each
component independently
Compute minimizing vertices
Connect minimizing vertices
41
Step 3 Compute Minimizing Vertices
Components i1 , i2, i3 , i4
B
E
A
i1
i2
i3
i4
F
D
C
42
Extended Dual Contouring
Enumerate intersection points
Component Separation
Compute minimizing vertices
Connect minimizing vertices of adjacent cells
Connect minimizing vertices
43
Step 4 Connecting minimizing vertices
  • Need to take into account
  • An edge can have upto two intersection points
  • A cell can have multiple minimizing vertices

44
Step 4 Connecting minimizing vertices
  • For each intersecting edge
  • For each of upto two intersection points
  • Connect the minimizing vertices in the adjacent
    cells that are associated with the intersection
    point

45
Step 4 Connecting minimizing vertices
B
E
A
i2
M1
M2
i3
M4
M3
F
D
C
46
Extended Dual Contouring
B
E
A
F
D
C
47

Comparison with Dual Contouring
8 Boolean operations
Dual Contouring
Extended Dual Contouring
64x64x64
64x64x64
48

Aliasing due to Sharp Features
49
Outline
  • Extended Dual Contouring
  • Feature-Sensitive Subdivision
  • Results

50
Sharp Features
  • Why do sharp features arise?
  • Booleans correspond to performing min and max
    operations on the distance fields of the
    primitives
  • Both f1 and f2 may be smooth, but min(f1, f2) may
    not

51
Signal Processing Overview
f1
f2
min(f1, f2)
52
Signal Processing Overview
f1
f2
min(f1, f2)
f1-f2
sgn(f1-f2)
53
Bisector Test
  • Sharp feature corresponds to the zero crossing of
    f1-f2
  • Detect the bisector surface (f1-f2 0) in each
    cell

54
Bisector Test
  • Observe for sign change of f1-f2 along the edges
    of the cell

55
Bisector Test
f1-f20
A
B
f1-f2gt0
f1-f2lt0
f2 gt 0
f1 gt 0
f1 lt 0
f2 lt 0
56
Feature-Sensitive Subdivision
  • Multiple Sharp Features
  • Estimate the number of sharp features for each
    cell and subdivide if it is greater than one

57
Feature-Sensitive Subdivision
  • Example f min (f1, f2 )
  • Num-Sharp(f, Cell C) Num-Sharp(f1, C)

  • Num-Sharp(f2, C)

  • Bisector-Test(f1, f2,C)
  • Bisector-Test(f1, f2,C) 1 if f1 f2 passes

  • through C
  • 0
    otherwise

58
Bisector Test
  • Can be conservative
  • Can miss features

f1-f20
f1-f20
f1 lt 0
f2 lt 0
59
Sharp Features
Ext Dual Contouring with subdivision
Ext Dual Contouring without subdivision
60

Sharp Features
8 Boolean operations
Ext Dual Contouring without Subdivision
Ext Dual Contouring with Subdivision
313K voxels
643 262 K voxels
61
Comparison with Dual Contouring
Dual Contouring
Extended Dual Contouring
62
Comparison with Dual Contouring
Dual Contouring
Extended Dual Contouring
63
Applications
  • Boundary evaluation of complex CAD models
  • Offset computation
  • Polygonization of general implicit models

64
Drivewheel
Turret
30 solids 2-7 Boolean operations per solid
41 solids 2-19 Boolean operations per solid
65
Hull
36 solids 2-12 Boolean operations per solid
66
Bradley Fighting Vehicle
1296 solids 8,456 Booleans 2-20 Booleans per solid
67
Bradley Fighting Vehicle
1296 solids 8,456 Booleans 2-20 Booleans per solid
68
Timings
  • 1.6 GHz Pentium IV, GeForce 3 graphics card, 512
    MB main memory
  • 3.5 hours for the entire Bradley Model
  • 12-15 secs per solid
  • Most of the time (10-12 secs) spent on distance
    computation

69
Performance Comparison
Extended Dual Contouring is 15 slower
70
Feature-Sensitive Subdivision
3.5x105
Number of Voxels
Total
64
256
512
128
Level of Subdivision
71
Offset Computation
Spoon Union of 25 convex pieces 13 secs
72
Polygonization of Implicit Models
Sixth order polynomial
2(x2y2z2-1)3 (0.1x2 y2)z30
73
Limitations
  • Extended Dual Contouring
  • In some cases, can result in self intersections
  • Cant reconstruct needle-like features where
    surface doesnt intersect edges of the cell
  • Feature-Sensitive Subdivision
  • Overly conservative

74
Main Results
  • Extended Dual Contouring
  • Can reconstruct arbitrarily thin features
  • Avoids creation of handles
  • Little additional overhead
  • Feature-Sensitive Subdivision
  • Able to reconstruct sharp features
  • Avoid aliasing artifacts

75
Conclusion
  • Application to a CAD model with 8000 Boolean
    operations
  • Offsets
  • Polygonization of implicit models

76
Ongoing Future Work
  • A more general feature-sensitive subdivision
    algorithm
  • Good approximation algorithms for arrangement
    (envelope) computation
  • Minkowski sum and application to motion planning
  • Swept volume Kim et al. 2003

77
Acknowledgements
  • Joe Warren and Scot Schaefer for dual contouring
    code
  • Members of UNC GAMMA group

78
Acknowledgements
  • ARO Contract DAAD 19-99-1-0162
  • NSF Awards ACI-9876914, ACI-0118743
  • ONR Contracts N00014-01-1-0067
  • Intel Corporation

79
Thank you!
80
A
B
E
F
C
D
81
A
B
E
F
C
D
82
Step 2 Component Separation
  • Define a parent for each intersection point
  • Outside grid point that defines the intersection
    point
  • Parent set P A, B, C, D
  • Equivalently, separate parent set into components

83
Offset Computation
  • Offset of a surface is defined by taking a fixed
    offset along the normal direction at each point
    and computing the envelope of the resulting set
    of points.
  • Can be posed as union problem
  • Decompose the object into convex pieces
  • Compute Minkowski sum of each convex piece with a
    sphere
  • Compute the union of the convex Minkowski sums

84
Results
26 solids 2-10 Boolean operations per solid
3 Boolean operations on tori
Write a Comment
User Comments (0)
About PowerShow.com