Title: Recursively generated Bspline surfaces on arbitrary topological meshes
1Recursively generated B-spline surfaces on
arbitrary topological meshes
- E Catmull and J Clark
- Computer Aided Design, 1978
- Presented by Geoffrey Lefebvre
2Outline
- Introduction to subdivision surfaces
- Definition of subdivision surfaces
- Comparison with NURBS
- Possible application of subdivisions surfaces
- Catmull Clark paper
- Overview
- Regular mesh subdivision rules
- Subdivision rules for meshes of arbitrary topology
3What is a subdivision surface?
- Smooth surface generated as the limit of a
sequence of successively refined polyhedral
meshes created by repeated application of the
subdivision procedure.
4(No Transcript)
5Many types of subdivision surfaces
- Face splitting technique
- Catmull-Clark Based on quads, approximative, C2
- Loop Based on triangles, approximative, C2
- Modified Butterfly Based on triangles,
interpolative, C1 - Kobbelt Based on quads, interpolative, C1
- Vertex splitting technique
- Doo-Sabin, Midedge, C1
6Comparison with NURBS
- PRO
- Naturally handles arbitrary surface topology
- No need for trimming
- Local refinement easier to do
- No seam related problems (smoothness, visibility)
- CON
- Not parametric, harder to map textures
- Behavior not as well understood
7Possible Applications
- Use instead of NURBS in animation package
- Multi-resolution geometry compression
- Level of detail rendering
8Recursively generated B-spline surfaces on
arbitrary topological meshes (Catmull Clark,
1978)
- Paper describes a method for recursively
generating surfaces that approximates point lying
on a mesh of arbitrary topology. - Generated surface is a B-spline surface
everywhere except near extraordinary points. - Generalization of a recursive bi-cubic B-spline
patch subdivision algorithm. - This algorithm was originally designed to
recursively divide a surface patch into four
sub-patches until the resulting patches are
roughly the size of a pixel.
9Basic concept
- Take a standard B-spline surface patch and split
it into 4 subpatches - Original 16 control points mesh becomes a 25
points mesh. - 3 types of new control points
- face points
- edge points
- vertex points
10Control point mesh
p42
p41
p43
p44
p31
p32
p33
p34
p21
p22
p23
p24
p11
p12
p13
p14
11Control point mesh
12Control point mesh
q51
q41
q31
q21
q22
q11
q12
q13
q14
q15
13Matrix form
- B-spline patch matrix form
- S(u,v) U M G MT VT
- Where
- M is the B-spline basis matrix
- G is the set of control point
- U u3 u2 u 1
- V v3 v2 v 1
14More matrix stuff
- The subpatch 0 lt u,v lt 1/2 can be represented by
- S(u1,v1) U S M G MT ST VT
- Where
- u1 u/2
- v1 v/2
- S
15Dont worry, its almost over
- The sub-patch must still be a bi-cubic B-spline
with its own set of control point. - S(u,v) U M G1 MT VT
- This will be true iff
- M G1 MT S M G MT ST
- So we get
- G1 M-1 S M G MT S M-T
16Getting there
- The new set of control point is calculated from
the old set - G1 H G HT
- where H
17Regular control point mesh rules
- From the matrix representation we get the
following equations - For new face point
- For new edge point
18Regular control point mesh rules
19Arbitrary control point mesh rules
- For new face points The average of all old
points defining the face. - For new edge points The average of the midpoints
of the old edge with the average of the two new
face points of the face sharing the edge.
20Arbitrary control point mesh rules
- For new vertex point
- Where
- Q the average of the new face points of all
faces adjacent to the old vertex point. - R the average of the midpoints of all old edges
incident on the old vertex point. - S old vertex point
21Arbitrary control point mesh rules
- Each new face point is connected to the new edge
points of the edges defining the old face. - Each new vertex point is connected to the new
edge points of all old edges incident on the old
vertex point.
22An example
23An example
24An example
25An example
26Conclusion
- This paper is one of the first paper on the topic
of subdivision surfaces. - Paper generalize bi-cubic B-spline patch
subdivision algorithm to mesh of arbitrary
topology. - Makes no formal claim of surface behavior near
extraordinary points.