Title: Dynamic Modeling with Implicit Surfaces and Polygonal Meshes
1Dynamic Modeling with Implicit Surfaces and
Polygonal Meshes
2Introduction
- Surfaces in 3D
- Implicit Representation, i.e., isosurfaces
- Explicit Representation, i.e., polygonal meshes
3Mesh Topology
- Manifolds of different topological properties
- Orientable/Non-Orientable
- Genus
- Morse theory reveals the connection between the
topological structure and the differential
property of the surface - Finding the fair Morse function
4Dynamic Surface Modeling
- Dynamic interfaces in simulations such as water,
fire, etc - Morphing
- Surface fitting
- Clay modeling
5Moving Surfaces
- For implicit surfaces
- Level Set Method propagates the surface by
changing voxel values in the simulation grid - Does not scale well with voxel resolutions
- For polygonal meshes
- Propagate the vertices by the velocity field
- Can have swallowtails or self-intersections
6Moving Surfaces (cont)
- Face Offsetting Methods
- Propagate face and recalculate intersections
- Induces a volume-preserving smoothing method
- Procedural Level Sets
- Projects the geometric motion onto parametric
representations - Has nice property for localizable functions, such
as CSG.
7Outline
- Morse Fairing
- Morse theory, basic fairing algorithm
- Multigrid algorithm
- Applications
- Face Offsetting Method
- Fundamental idea
- Application in volume-preserving mesh smoothing
- Procedural Level Sets
- Mathematical derivation
- Application in surface fitting
- Propagation of localizable surfaces, e.g. CSG
8Morse Fairing
- The Topology Invariance of a space is the
quantity that is invariant under homotopy
equivalences (continuous deformations). such
quantities include etc.,
but do not include surface area, volume,
curvature, etc. - For finite cellular complexes, the Euler
Characteristic is defined as -
- Where cn is the number of n-cells
9Genus and Surface Cutting
- We can construct orientable 2-manifolds by
identifying pairs of edges in the 2g-gon - On the contrary, we can give the orientable
2-manifold a cellular structure of one 0-cell, 2g
1-cells and one 2-cell. - Cutting along the 1-cells flattens the surface.
- Polygonal mesh is another cellular structure of
the surface.
10Morse Theory
- For a real-valued function defined on the
surface, Morse theory reveals the connection
between the arrangement of its critical points
(point with zero gradient) and its genus - Tracing flowlines from the saddle gives a
cellular complex structure - Can perturn such that the flowline from a saddle
always terminates at a minimum Morse-Smale
complex
11Morse Theory on Meshes
Banchoff, 1970
8
7
3
4
5
v
1
3
Lk v Link of vertex v
Lk- v Lower link of v, f(v) 5 link
vertices lt f(v) edges
-
-
-
-
0
-
-
M
m
-
X
-
2
-
-
-
-
-
-
regular vertex Lk- v contractible
maximum Lk- v Lk v index 2
minimum Lk- v ?? index 0
Morse saddle Lk- v 2 pieces index 1
monkey saddle Lk- v 3 pieces index
1 multiplicity 2
12Fair Morse Functions
- Due to perturbation or scanning errors, the
function on the mesh may have lots of critical
points - We are interested in finding fair Morse
function having the least number of critical
points, i.e., one minimum, one maximum and two
saddles per handle
13Morse Fairing
- Define f on mesh by assigning values to vertices
- Algorithm
- Pick vmin and set f (vmin) -1
- Pick vmax and set f (vmax) 1
- Solve Laplacian to define f (v) on remaining
vertices - Result
- Every vertex (except vmin,vmax) is average of its
neighbors - Cannot be a min or a max
- Can be a saddle
- But there must be only 2g of them
11
1
2
1
3
1
2
147 min 15 saddles 8 max
1 min 2 saddles 1 max
15Multigrid Morse Fairing
- Simplify M repeatedly
- Constructs multires hierarchy M0 Mkwhere M0 M
- Collapses must pass link conditionDey et al.,
1999 - Base domain Mk M
- Solve Laplacian on base domain Mk
- Reintroduce deleted vertices one at a time
- Approximate value of new vertex with (weighted)
average of neighbors - Iterate Laplacian locally until neighborhood
converges
16Intermediate Value Propagation
- We dont really want a Laplacian smoothing on the
values - When reintroducing a vertex, just to make sure it
doesnt become a min or max - Intermediate Value Proposition (proved) ensures
we can always find such a value for the
reintroduced vertex - Resulting irregular but correct function
v
v
17Mean-ValueWeights
IntermediateValuePropagation
UniformWeights
18Cutting a Surface into a Disk
- Pick one max correspondingto center of disk
- Pick one (or more) minima which thecuts should
pass through (e.g. highcurvature points) - Cut ? circle, Laplacian on coords.Floater, CAGD
97
19Base Domain Construction
- Base domain end result of greedy simplification
steps - Clustering is rather arbitrary
- Morse fairing allows user to pick vertices (min)
and faces (max) of base domain - Creates min-saddle-min-saddle quads which can be
triangulated by ascent paths to max in the middle
MAPS domains Lee et al., S98
Morse Fairing domains
20Fast Developable Patches
- Morse function isGaussian curvature,squared,
negatedf (p) -kG2(p) - Maxima at flattest regions
- Minima at feature points
21Visualization
165 tunnels
22Explicit Surface Tracking Method
- Surface painting method, Lawrence Funkhouser
- Local surface deformation
- Adaptively change mesh resolution at painted
region - Moving mesh PDE solvers, Li Petzold
- Self-intersection in 2D
- Trimming or delooping
- Preconditioning the curve before propagating it
23Surface Smoothing
- Positional Diffusion
- Laplacian smoothing
- Skin, Markosian et al.
- Curvature flow, Desbrun et al.
- Normal Diffusion
- Gaussian smoothing to surface normals, Ohtake et
al. - Volume preservation
- Global volume preservation by scaling, Desbrun et
al. - However, local volume preservation is more
physically meaningful
24Offset Intersections
- For a vertex , its incident faces are moved
virtually to a new position called offset face - We want to find the new position
for such that the quadric error
to the offset faces is minimized - Sounds reasonable, but numerically unstable
25Classification of Vertex
- Classify vertex as smooth, ridge or corner by
looking at the eigensystem of matrix A - How many large eigenvalues are there ( is
large - if )?
- 1 ?? vertex is smooth
- 2 ?? vertex is ridge
- 3 ?? vertex is corner
- Move the vertex only in the space spanned by the
eigenvectors corresponding to the large
eigenvalues
26Avoiding Self-Intersections
- Timestep for PDE is restricted by CFL
(Courant-Friedrichs-Lewy) condition. - In face offsetting, this is equivalent to
requiring that the offsets of the disjoint faces
do not intersect. - A sufficient condition is that the offset
intersection projects back to the
safe region - If not, take a smaller step along the direction
of offset intersection
27Local vs. Global Self-Intersection
- Local self-intersection
- Swallowtails, e.g., expanding a concave region
- Can be avoided by ensuring the safe region
condition - Global self-intersection
- Topology change, e.g., merging, diverging, etc.
- Need detect global topology change, and indicate
the location - So far, can not handle
28Diffusion of Normals
- Naturally induced by the face offsetting method
- Calculate the weighted average normal for a face
- Uniform weight ?? isotropic diffusion
- Non-uniform weight ?? anisotropic diffusion
- Construct the face offset by aligning the
original face along the averaged normal, fixing
its center - Apply the face offsetting method to find the new
offset intersections
29Volume-Preserving Surface Smoothing
- Diffuse the normals of the faces
- Calculate local volume change and diffuse the
change back to the face offsets - Guarantee local volume preservation
30Results
31(No Transcript)
32(No Transcript)
33Procedural Level Sets
- Level set method
- Propagate the surface in normal direction by
integrating the voxel values - Automatically accommodate topology change and
self-intersection - Does not scale well with resolution of the grid
- Procedural level sets
- Use much fewer parameters than the number of
voxels in the simulation grid - Have very nice property for localizable surfaces
34Derivation
- Let be a time-varying scalar field
function over spatial variable and a vector
of scalar parameters - A particle on the surface will satisfy
-
- Taking the time derivative, we have
- Let be the specified velocity field
35A is a matrix of size n X m n number of
particles m length of q
36Solve for Parameter Speed
- Usually n gt m, i.e., more particles than the
number of control parameters - This is an overconstrained system, for which we
want to find the optimal solution minimizing the
squared error residual - Using SVD, decompose AUSVT , then the optimal
solution is - A is provably rank-deficient for polynomial
surfaces, i.e., rank(A) lt m. Ignore the zero
singular values when taking the inverse S-1
37Result for Surface Fitting
- Scattered point cloud
- Use vector to the nearest point as the velocity
field
38CSG Surfaces
- Compose new shape from simple primitives
- Using Boolean operation (unioin, inersection,
subtraction) to organize a tree structure - Using RFunctions, can guarantee arbitrary
differentiabilities. - Composite function F(F1, , Fk)
39Localizable Surfaces
- Composite function F(F1, , Fk), Fi has parameter
vector qi - A particle x is said to be on the ith primitive
if Fi(x) F (x) 0 - The surface F 0 is said to be localizable if
- for all x on primitives other than i
- for
- Think about the union of two spheres
40Decoupling the Propagation
- Decoupling Proposition (proved)
- For localizable surfaces, (e.g CSG surface) the
propagation solution to for the
entire surface can be obtained by solving it for
each primitive independently.
41Preliminary Results
42Preliminary Results
43Future Work
- Mesh adaptation for face offsets
- Global intersection, i.e., topology change
44Future Work
- Convergence condition of the procedural level
sets - Create more CSG propagation instances
- Take advantage of other localizable functions
such as RBF
45