123 maart 2006
Surface construction techniques for volumetric objects
How to maintain convex and concave features?
Eddy Loke and Erik Jansen
23 maart 2006 2
Introduction
Discretized Marching Cubes builds a surface• Halfway inbetween object and background• Rounding of edges and corners • Can we maintain sharp features?
23 maart 2006 3
Surface construction from voxel data
• Data defined on grid• Surface construction with
MC (linear approximation)• Binary data• Surface construction on
binary data• Discrete Marching Cubes
(DMC)• Discrete version of MC• Less triangles• Manifold• Rounded volumes• Ambiguous cases
4-boundary 8-boundary 8+
Discrete Marching CubesDiscrete Marching Cubes – alt.Marching cubes
8-connectivity4-connectivity
23 maart 2006 4
Ambiguous cases
X-cell:• MC: asymptotic decider• 4-connected
“background priority”• 8-connected
“object priority”• Subgrid
23 maart 2006 5
Boundary construction cell-by-cell
• Apply configurations• We can also apply it on
subgrid• But then we have some
ambiguous cases
23 maart 2006 6
Ambiguous cases
X-cell:• 4-connected
“background priority”
• 8-connected “object priority”
Boundary connectivity and node connectivity are two different things!
23 maart 2006 7
3D
Connectivity:• 6-neighbors• 18 neighbors• 26 neighbors
23 maart 2006 8
3D “Object priority”
P4a P4b
P4d P4e P4g
P4cP3a
P7a
P5a
P5c P6bP6a
P5b
P6c
Kenmochi et al. 99
23 maart 2006 9
Object vs background priority
Object priority Background priority
P6b P6b
Node connectivity 18/26 Node connectivity 6
23 maart 2006 10
Connectivity
P5a - OP P5a - BPP4g - OP P4g - BP
P6c - OP P6c - BP
Some other cases
23 maart 2006 11
Background priority
P3a
P7a
P4a P4b P4c
P4d P4e P4g P5a P5b
P5c P6b P6cP6a
23 maart 2006 12
Object versus background priority
23 maart 2006 13
Convex vs. concave
Object priority: convex edges Background priority: concave edges
23 maart 2006 14
Object versus background priority
23 maart 2006 15
Discrete Marching Cubes
DMC- n DMC- o
DMC- e DMC- k DMC- l
DMC-p
23 maart 2006 16
• Build a DMC configuration by using subgrid triangulation
Discrete Marching Cubes
DMC- p DMC- p DMC- p
23 maart 2006 17
BP versionDMC-p OP-version
DMC triangulation
DMC has background priority triangulation
23 maart 2006 18
• DMC configurations are background priority
• and triangulation is BP as well!
Discrete Marching Cubes
23 maart 2006 19
Results
DMC standard DMC refined
23 maart 2006 20
Concave
P7a – OP/BP P7a – SBPP6a P6a - SBP
23 maart 2006 21
Concave variants
23 maart 2006 22
Convex extrapolation
• DMC rounded corners
• Feature detection• Subgrid
construction• OP-triangulation
Similar for concave edges
23 maart 2006 23
Results
DMC standard DMC refined
23 maart 2006 24
Results
DMC standard DMC refined
23 maart 2006 25
Conclusions
• Flexible triangulation scheme for convex and concave edges
• DMC extended/refined• Discrete models may be of interest for
high resolution models
23 maart 2006 26
Triangulation
Configurations(cell 2x2x2 nodes)
Other possibilities?Black versus white
diagonals
23 maart 2006 27
Two P6b cells with object priorityTwo P6b cells with background priority
Non-manifold
23 maart 2006 28
DMC- e DMC- l
DMC- n DMC- pDMC- o
DMC- k
DMC configurations with BP-triangulation
23 maart 2006 29
Concave variants
23 maart 2006 30
Filters feature detection
23 maart 2006 31
23 maart 2006 32
23 maart 2006 33
23 maart 2006 34
23 maart 2006 35
23 maart 2006 36
23 maart 2006 37
23 maart 2006 38
23 maart 2006 39
23 maart 2006 40
23 maart 2006 41
23 maart 2006 42
?
?
23 maart 2006 43
23 maart 2006 44
23 maart 2006 45
positive triangulations negative triangulations
23 maart 2006 46
Surface construction from voxel data
• Data defined on grid• Surface construction
with MC (continue)• Surface construction
on binary data
Marching cubes Discrete Marching Cubes4-boundary 8-boundary
Recommended