Title: Modified subdivision surfaces with continuous curvature
1Modified subdivision surfaces with continuous
curvature
A simple method for fixing shape artifacts of in
subdivision surfaces
Adi Levin
2Catmull-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 at extraordinary points
limit surface
step 1
step 2
step 3
3Shape problems at extraordinary points
- The overall shape is nice
Catmull-Clark surface
4Shape problems at extraordinary points
- But a close examination reveals the shape problems
A serious problem for some important design
applications (e.g. the design of a car exterior)
Shape problem near a point of valence 6
Isophotes
Mean curvature
5There is a way to overcome the shape problems
Original Catmull-Clark
This is not a new subdivision scheme
Phong shading
mean curvature
isophotes
C2 Modified Catmull-Clark
6Fixing smoothness by blending
- Given f(x), which is smooth except at x0.
- We allow to modify it in the interval -1,1
- p(x) a polynomial approximation to f(x) in
-1,1 - w(x)
7Artifacts caused by blending
- w and w should be small
- p should approximate f (but not too closely)
8My choice of weight function
w is maximal at the origin, therefore we
require p(0)f(0)
9Blending for surfaces
(The blending region)
10How to implement blending for subdivision
surfaces?
- We need
- Evaluation of points on the limit surface
- A local parameterization around each
extraordinary point
11Evaluation of Catmull-Clark surfaces
- Every vertex is mapped to a limit point
- Can be evaluated by a local linear mask
Initial mesh
step 1
step 2
step 3
limit surface
12A smooth local parameterizationThe
characteristic map
- Subdominant eigenvectors of the subdivision
operator
2D initial data
After a single subdivision step
13A 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
14A smooth local parameterizationThe
characteristic map
Example After 2 steps of subdivision
We ignore neighboring extraordinary vertices
15The blending region
the subdominant eigenvalue of the subdivision
operator
16The blending region
- Blending regions of neighboring extraordinary
vertices do not overlap
17An algorithm for C2 modification of a
Catmull-Clark surface
- Preprocessing
- At each extraordinary vertex, calculate a local
polynomial fit p(u,v) over 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
18Polynomial 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
19Polynomial 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
20The modified surfaces are C2 and they look better
Original Catmull-Clark
Phong shading
mean curvature
isophotes
C2 Modified Catmull-Clark
21Initial mesh
8
(top view)
3
6
Original Catmull-Clark
(Mean curvature)
C2 Modified Catmull-Clark
226
Initial mesh
Original Catmull-Clark
(Gaussian curvature)
C2 Modified Catmull-Clark
233
5
Initial mesh
5
Original Catmull-Clark
(Gaussian curvature)
C2 Modified Catmull-Clark
24Initial mesh
(Isophotes)
Original Catmull-Clark
C2 Modified Catmull-Clark
25z1
Initial mesh
12
z-1
Original Catmull-Clark
(Isophotes)
(Mean curvature)
C2 Modified Catmull-Clark
26A 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
27Optimal blend (not in the paper)
- Problem
- p should approximate s, but not too closely
28Optimal blend (not in the paper)
- Problem
- p should approximate s, but not too closely
- A better way to calculate p
- Calculate p such that the blend between p and s
is optimal with respect to a quadratic measure of
the fairness - Does not require more computations!
29Optimal blend example
- The polynomial at an extraordinary point depends
linearly on the (16n) vertices in the 2-ring
after a single subdivision step - Precompute the (d1)(d2)/2 (16n) matrix for
every valence n
30Conclusion further work
- After a simple modification, subdivision surfaces
become C2 continuous. - Same asymptotic time complexity
- Much simpler than other C2 constructions
- The method can be applied to any subdivision
scheme. - It remains to investigate how to get the best
surface quality - Optimal blending, with a fairness functional
- Different weight functions
- Degree of polynomial (perhaps use other smooth
functions)