Title: Modified subdivision surfaces with continuous curvature
1Modified subdivision surfaces with continuous
curvature
Adi Levin
2Overview
- Catmull-Clark subdivision
- The C2 problem
- Fixing smoothness by blending
- Implementation issues
- Optimal blending
NEW
3Catmull-Clark subdivision (quads only)
Initial mesh
- Recursive quadrilateral subdivision
- Every new vertex position is defined by a linear
combination of vertex positions from the previous
step - The limit surface is C2 continuous
- Except for extraordinary points
limit surface
step 1
step 2
step 3
4Subdivision surfaces are not C2
- The overall shape is nice
Catmull-Clark surface
5Subdivision surfaces are not C2
- But a close examination shows shape problems near
the extraordinary points
Shape problem near a point of valence 6
Isophotes
Mean curvature
6Subdivision surfaces can be modified to become C2
Original Catmull-Clark
Phong shading
mean curvature
isophotes
C2 Modified Catmull-Clark
7Fixing smoothness by blending
- Given f(x), which is smooth except at x0.
- We want to modify it in the interval -1,1
- p(x) a polynomial approximation to f(x) in
-1,1 - w(x)
8Guidelines for C2 blending
- f(x) is C2 except at x0 (and C1 everywhere)
- w(x) should be C2
- w(x) should decay to zero fast enough at x0
9Guidelines for C2 blending
- p should approximate f (but not too closely)
- w and w should be small
10Guidelines for C2 blending
11Blending for surfaces
(The blending region)
12Blending for surfaces
- For subdivision surfaces, we need
- Evaluation of points on the limit surface
- A local parameterization around each
extraordinary point
13Evaluation of Catmull-Clark surfaces
- Every vertex is mapped to a limit point
- Can be evaluated by local a linear mask
Initial mesh
step 1
step 2
step 3
limit surface
14A smooth local parameterizationThe
characteristic map
- Subdominant eigenvectors of the subdivision
operator
2D initial data
After a single subdivision step
15A smooth local parameterizationThe
characteristic map
- Subdominant eigenvectors of the subdivision
operator - Every vertex is mapped to a pair of (u,v)
parameters
v
u
Initial mesh
step 1
step 2
step 3
limit
16A smooth local parameterizationThe
characteristic map
Example After 2 steps of subdivision
We ignore neighboring extraordinary vertices
17The blending region
the subdominant eigenvalue of the subdivision
operator
18The blending region
- Blending regions of neighboring extraordinary
vertices do not overlap
19An algorithm for C2 modification of a
Catmull-Clark surface
- Preprocessing
- At each extraordinary vertex, calculate a local
polynomial fit p(u,v) with respect to the
characteristic map - Evaluation (after k steps of subdivision)
- For a given vertex of the k-times refined mesh,
evaluate (u,v) from the characteristic map and
apply the blending formula
20Polynomial fit at an extraordinary vertex
- Subdivide the mesh 3 times and evaluate limit
positions - Around each extraordinary vertex,
- Fit a polynomial p to the points where
- Use cubic polynomials
21Polynomial fit at an extraordinary vertex
- Subdivide the mesh 3 times and evaluate limit
positions - Around each extraordinary vertex,
- Fit a polynomial p to the points where
- Use cubic polynomials
- Exception for valence 3 vertices use quadratic
polynomials
22The modified surfaces are C2 and they look better
Original Catmull-Clark
Phong shading
mean curvature
isophotes
C2 Modified Catmull-Clark
23Initial mesh
8
(top view)
3
6
Original Catmull-Clark
(Mean curvature)
C2 Modified Catmull-Clark
243
5
Initial mesh
5
Original Catmull-Clark
(Gaussian curvature)
C2 Modified Catmull-Clark
25Initial mesh
(Isophotes)
Original Catmull-Clark
C2 Modified Catmull-Clark
26z1
Initial mesh
12
z-1
Original Catmull-Clark
(Isophotes)
(Mean curvature)
C2 Modified Catmull-Clark
27A more efficient way to compute the polynomial fit
- Subdivide the mesh once
- The polynomial at an extraordinary point depends
only on the (16n) vertices in the 2-ring - Precompute the 10 (16n) matrix for every
valence n
28Optimal blend (not in the paper)
- Problem
- p should approximate s, but not too closely
- A better approach
- Calculate p such that the blend between p and s
is optimal - Assumes a quadratic measure of the fairness
- Does not require more computations!
29Optimal blend example
- The polynomial at an extraordinary point depends
only on the (16n) vertices in the 2-ring - Precompute the (d1)(d2)/2 (16n) matrix for
every valence n
30Optimal blend more generally
- If
- ltf,ggt is linear in f and in g
- L and R are linear multi-functionals
- ltf,fgt depends on values inside the blending
region - ltf,fgt can be evaluated
- Then p depends linearly on the (16n) 2-ring
vertices after one subdivision step
31Conclusion further work
- After a simple modification, subdivision surfaces
become C2 continuous. - Same asymptotic time complexity
- The modified surface looks almost similar to the
original. - The method can be applied to any subdivision
scheme. - It remains to investigate how to get the best
surface quality - Degree of polynomial
- Optimal blending, with a fairness functional
- Different weight functions