subdivision/refinement dr. s.m. malaek assistant: m. younesi

81
Introduction Bezier curves, B-spline curves and subdivision curves are all based upon the input of a control polygon and the specification of an algorithmic method that contructs a curve from this sequence of points. Fundamental to these methods is the concept of a refinement.

Upload: osborne-morrison

Post on 28-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Introduction Bezier curves, B-spline curves and

subdivision curves are all based upon the input of a control polygon and the specification of an algorithmic method that contructs a curve from this sequence of points. Fundamental to these methods is the concept of a refinement.

Page 2: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

What is a Refinement Scheme? A refinement process is a scheme which defines a

sequence of control polygons

kjP where for any k>0, each can be written as:

knk

kk

n

n

n

,,,

,,,

,,,

,,,

ppp

ppp

ppp

ppp

10

22

21

20

11

11

10

10

1

0

1,,

kn

i

kikji

kj PP

Page 3: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

What is a Refinement Scheme? For each fixed j and k the sequence

is frequently called a mask.

It covers the cases where the number of control points in each successive polygon is allowed to increase (Chaikin´s Curves and Doo-Sabin´s subdivision surfaces are examples of this), or must decrease (de Casteljau's algorithm for generating Bézier Curves is an example of this).

kji ,,

Page 4: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

A Matrix Method for Refinement

The equation

1

0

1,,

kn

i

kikji

kj PP

can be written in matrix form as

1

11

10

,,1,,1,,0

kn

k

k

kjnkjkjkj

n

k

p

p

p

P

Page 5: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

A Matrix Method for Refinement (cont.)

and overall

11

11

10

1

0

kn

k

k

k

kn

k

k

nn

S

p

p

p

p

p

p

Where Sk is the refinement matrix

knnkk

knkk

knkk

k

kk

k

k

S

,,1,0,0,0,0

,1,1,0,0,0,0

,0,1,0,1,0,0

This matrix as being sparse (i.e. most of the entries being zero) with non-zero entries clustered along the diagonal.

Page 6: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

SUBDIVISION CURVES A new set of curve generation methods is now becoming

popular which utilize a control polygon, as in the Bézier or B-spline case, but instead of using analytic methods to directly calculate points on the curve, these methods successively refine the control polygons into an sequence of control polygons that, in the limit, converge to a curve.

The curves are commonly called subdivision curves as the methods are based upon the binary subdivision of the uniform B-spline curves.

Page 7: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CHAIKIN'S ALGORITHMS In 1974, George Chaikin gave a lecture at the

University of Utah in which he specified a novel procedure for generating curves from a limited number of points. This algorithm is interesting as it was one of the first corner cutting or refinement algorithms specified to generate a curve from a set of control points, or control polygon.

Page 8: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CHAIKIN'S ALGORITHMS corner cutting or refinement algorithms: the algorithm

generates a new control polygon by cutting the corners off the original one.

Page 9: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CHAIKIN'S ALGORITHMS Given a control polygon ,we refine

this control polygon by generating a new sequence of control points:

nPPP ,,, 10

111100 ,,,,,, nn RQRQRQ

where each new pair of points Qi, Ri are to be taken taken to be at a ratio of and between the endpoints of the line segment .

41 43

1iiPP

Page 10: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CHAIKIN'S ALGORITHMS

These 2n new points can be considered a new control polygon - a refinement of the original control polygon.

1

1

4

3

4

14

1

4

3

iii

iii

PPR

PPQ

Page 11: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CHAIKIN'S ALGORITHMS Example: How Chaikin's Algorithm works? consider the following control polygon:

Page 12: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CHAIKIN'S ALGORITHMS Chaikin's algorithm generates the points Qi and Ri

and uses these points to refine the curve and obtain the control polygon shown in the figure below

Page 13: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CHAIKIN'S ALGORITHMS These points are in turn utilized to generate a new

refinement.

Page 14: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CHAIKIN'S ALGORITHMS The following illustration shows the initial control

polygon, the third control polygon in the sequence, and the final curve.

Page 15: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Curves Example: A Closed Curves

consider the following figure

Page 16: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision CurvesWe can still apply Chaikin's method to this figure,

obtaining

Page 17: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision CurvesThis new control polygon can then be utilize to obtain a

second refinement as in the following figure

Page 18: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Curves The initial control polygon and the second

refinement are shown in the following figure along with the resulting curve.

Page 19: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methodsfor

Quadratic B-Spline Curves

Page 20: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Quadratic B-Spline Curves

2

1

021)(

P

P

P

P Mttt

Given a set of control points P0 ,P1,P2 .the quadratic uniform B-

spline curve :

For

and where10 t

121

022

011

M

Page 21: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Quadratic B-Spline Curves

310

130

031

4

1RS

130

031

013

4

1LS

We can perform a binary subdivision of the curve, by applying one of two splitting matrices to the control polygon:

When applied to the control polygon SL gives the first half of the curve, and SR gives the second half.

several of the control points for the two subdivided components are the same. Thus, we can combine these matrices

310

130

031

013

4

1R

Page 22: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Quadratic B-Spline Curves

21

21

10

10

2

1

0

13

12

11

10

4

3

4

14

1

4

34

3

4

14

1

4

3

310

130

031

013

4

1

PP

PP

PP

PP

P

P

P

P

P

P

P

apply it to a control polygon

i.e. at and along each of the lines of the control polygon. These are the same points as are developed in Chaikin's method.

Page 23: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Quadratic B-Spline Curves The General Refinement Procedure: Given a control polygon, we can generate a refinement of this set of points by constructing new points

along each edge of the original polygon at a distance of and between the endpoints of the edge. The general idea behind subdivision curves is to assemble these points into a new control polygon which can then be used as input to another refinement operation, generating a new set of points and another control polygon - and then continue this process until a refinement is reached that accurately represents the curve to a desired resolution.

Page 24: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methodsfor

Cubic B-Spline Curves

Page 25: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Cubic B-Spline Curves

3

2

1321)(

K

K

K

K

Mtttt

P

P

P

P

P

Given a set of control points P0 ,P1,P2 and P3 .The Cubic uniform B-Spline curve :

For

and where10 t

1331

0363

0303

0141

6

1M

Page 26: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Cubic B-Spline Curves

1610

0440

0161

0044

8

1LS

4400

1610

0440

0161

8

1RS

We can perform a binary subdivision by applying one of the two splitting matrices.

We can combine these matrices

4400

1610

0440

0161

0044

8

1

Page 27: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Cubic B-Spline Curves

3

2

1

0

14

13

12

11

10

4400

1610

0440

0161

0044

8

1

P

P

P

P

P

P

P

P

P

Apply it to a control polygon

Page 28: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Cubic B-Spline Curves The General Refinement Procedure In the case of the quadratic curve we were able to state exactly a single procedure for the points of the refinement. In the case of the cubic curve, it is not so easy.

However, if we examine the rows of matrix used in the refinement, we see that they have two distinct forms. This motivates us to classify the points of the refinement as vertex and edge points. This classification makes the description of the refinement process quite straightforward.

Page 29: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

VERTEX POINTS AND EDGE POINTS

Page 30: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

VERTEX POINTS AND EDGE POINTS Classifying the Refinement Points Suppose we are given a control polygon

321 ,,, PPPP0

Page 31: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

VERTEX POINTS AND EDGE POINTS we use the refinement method:

We note that three of the new control points appear to lie at the midpoints of the three respective line segments. These points will be classified as ``edge points''. The other points all lie close to on of the vertices of the original control polygon, and will be called ``vertex points''.

Page 32: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

VERTEX POINTS AND EDGE POINTS

21100 ,,,, EVEVE

we denote the new control polygon generated by the binary subdivision method as

By combining and applying the splitting matrices that generate the binary subdivision of the curve we obtain

3

2

1

0

2

1

1

0

0

4400

1610

0440

0161

0044

8

1

P

P

P

P

E

V

E

V

E

Page 33: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

VERTEX POINTS AND EDGE POINTS The edge points E0 , E1 and E2 are calculated by:

Page 34: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

VERTEX POINTS AND EDGE POINTS The V0 and V1 are calculated by:

Page 35: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

VERTEX POINTS AND EDGE POINTS An Example of the Refinement Algorithm

Page 36: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

VERTEX POINTS AND EDGE POINTS Calculate the edge and vertex points producing a refinement of the original

control polygon

Page 37: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

VERTEX POINTS AND EDGE POINTS Assemble these points into a new control polygon and utilize it as input again to the

refinement process - producing new edge and vertex points from this set of points.

Page 38: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

VERTEX POINTS AND EDGE POINTSSummary: In the case of cubic uniform B-spline curves we can consider the refinement procedure to consist of the generation of edge points

and vertex points from a given set of control points - each of which can be generated by taking only the midpoints of line segments.

Page 39: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Surfaces

Page 40: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Surfaces Subdivision surfaces are based upon the binary subdivision of the uniform B-spline curve/surface. In general, they are defined by a initial polygonal mesh, along with a subdivision (or refinement) operation which, given a polygonal mesh, will generate a new mesh that has a greater number of polygonal elements, and is

hopefully ``closer'' to some resulting surface. By repetitively applying the subdivision procedure to the initial mesh, we generate a sequence of meshes that (hopefully) converges to a resulting surface.

Page 41: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methodsfor

Quadratic B-Spline Surfaces

Page 42: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Quadratic B-Spline Surfaces

Consider the biquadratic uniform B-spline surface P(u,v) defined by the array of control points 33

M is the matrix:

Page 43: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Quadratic B-Spline Surfaces This patch can be subdivided into four subpatches, which can be generated from 16 unique sub-control points. We focus on

the subdivision scheme for only one of the four (the subpatch corresponding to ), as the others will follow by symmetry.

21,0 vu

Page 44: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Quadratic B-Spline Surfaces2uu we consider the reparameterization of the surface by

and and define this new surface as2vv ),( vuP

Page 45: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Quadratic B-Spline Surfaces

Through this process, we have written the surface as

The matrix S is typically called the “splitting matrix”

Page 46: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Quadratic B-Spline Surfaces

Page 47: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Quadratic B-Spline Surfaces where the can be written asji ,P

Page 48: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Quadratic B-Spline Surfaces These equations can be looked at in two ways:

1. Each of these points utilizes the four points on a certain face of the rectangular mesh, and calculates a new point by weighing the four points in the ratio of 9-3-3-1. Thus, this algorithm can be specified by using subdivision masks, which specify the ratios of the points on a face to generate the new points. In this case, the subdivision masks are as follows

ji ,P

Page 49: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Quadratic B-Spline Surfaces2. Each of these equations is built from weighing the points on an edge in the ratio of 3-1. and then weighing the resulting

points in the ratio 3-1. These are exactly the ratios of Chaikin's curve and so this method can be looked upon as a extension of Chaikin's curve to surfaces.

Page 50: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Doo-Sabin Surfaces

Page 51: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Quadratic B-Spline Surfaces Given the subdivision masks generated for subdivision of biquadratic uniform B-

spline patches

Doo and Sabin observed that the points are simply the average of four particular points taken in a polygon - the vertex for which the new point is being defined, the two edge points (the midpoints of the edges that are adjacent to this vertex in the polygon), and the face point (average of the vertices of the polygon).

Page 52: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Quadratic B-Spline Surfaces

2

CA 2

BA

To verify this gives the subdivision masks, let the 4 vertex of a face be named A (bottom-right), B, C, D (upper-left) The 2 edge points adjacent to A are respectively equal and

4

DCBA

Finally the new point of the Doo-Sabin subdivision is equal to:

16

33916

222244

4)(

2)(

2)(

DCBA

DCCBBAAAA

DCBACABAA

The face point is equal to:

A

D

C

B

Page 53: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Quadratic B-Spline Surfaces The Procedure for Meshes of Arbitrary Topology For each vertex of each face of the object, generate a new point as average of the vertex, the two edge points and the face point of the face.

Page 54: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Quadratic B-Spline Surfaces Then for each face, connect the new points that have been generated for each

vertex of the face

Page 55: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Quadratic B-Spline Surfaces For each vertex, connect the new points that have been generated for the faces that are adjacent to this vertex. And then for each edge, connect the new points that have been generated for the faces that are adjacent to this edge.

Page 56: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Quadratic B-Spline Surfaces Three iterations of a Doo-Sabin bicycle seat

After the first subdivision, all vertices have valence four - which is a characteristic of the Doo-Sabin method.

Page 57: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Cubic B-Spline Surfaces

Page 58: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Cubic B-Spline Surfaces Consider the bicubic uniform B-spline surface P(u,v) defined by the

array of control points 44

M is the matrix:

Page 59: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Cubic B-Spline Surfaces The bicubic uniform B-spline patch can be subdivided into four subpatches, which can be generated from 25 unique sub-

control points. We focus on the subdivision scheme for only one of the four (the subpatch corresponding to ), as the others will follow by symmetry.

It should be noted that the nine ``interior'' control points are utilized by each of the four

subpatch components of the subdivision.

2

1,0 vu

Page 60: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Cubic B-Spline Surfaces2uu we consider the reparameterization of the surface by

and and define this new surface as2vv ),( vuP

Page 61: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Cubic B-Spline Surfaces

And we obtain:

Page 62: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Cubic B-Spline Surfaces

And we obtain (cont.):

Page 63: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Subdivision Methods for Cubic B-Spline Surfaces

These equations can be looked in terms of subdivision masks as follows

The application of mask A generates a new point corresponding to each vertex. The masks B generate new points corresponding to each edge, and mask C generates a new point corresponding to each face. These new points can be classified into three categories vertex points, edge points and face points depending on each points relationship to the original control point mesh.

Page 64: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CATMULL-CLARK SURFACES

Page 65: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CATMULL-CLARK SURFACES

Utilizing the subdivision for bicubic uniform B-spline surfaces, Ed Catmull and Jim Clark, following the methodology of Doo and Sabin noted that the subdivision rules expressed for the cubic B-spline surface not only work for arbitrary rectangular meshes, but can also be extended to meshes of an arbitrary topology.

The Catmull Clark subdivision process generalizes subdivision masks by calculating the face points, edge points and vertex points from an arbitrary mesh of control point to generate the subdivided control mesh.

Page 66: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CATMULL-CLARK SURFACES

The points P’0,0, P’0,2, P’2,0 and P’2,2, which are shown in the figure below are called face points noted Fi,j, and are calculated as the average of the four points that bound the respective face.

Page 67: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CATMULL-CLARK SURFACES

We obtain:

F0,0 = P’0,0, F0,1 = P’0,2, F1,0 = P’2,0 and F1,1 = P’2,2

Note that the face points are simply the average of the 4 points which define the face. These face points Fi,jcan

be calculted by:

Fi,j=¼ (Pi,j+Pi+1,j+Pi,j+1+Pi+1,j+1).

Page 68: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CATMULL-CLARK SURFACES The points P’0,1, P’0,3, P’1,0 P’1,2, P’2,1, P’2,3, P’3,0 and P’3,2, which are called edge points noted Ei,j, are given as the average

of 4 points the two points that define the original edge and the two new face points of the faces sharing the edge.

Page 69: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CATMULL-CLARK SURFACES The example of the 2 edge points E0,1 and E1,0

P’0,1 can be rewrited as follow

E0,1 = P’0,1 =¼( (P0,0+P1,0+P0,1+P1,1)/4 + P0,1 + P1,1 + (P0,1+P1,1+P0,2+P1,2)/4))

which is also equal to ¼ (F0,0+F0,1+P0,1+P1,1). So this kind of edge points Ei,j can be calculated as follow

Ei,j =¼ (Fi,j-1+Fi,j+Pi,j+Pi+1,j)

P’1,0 can be rewrited as follow

E1,0 = P’1,0=¼( (P0,0+P1,0+P0,1+P1,1)/4 + P1,0 + P1,1 + (P1,0+P1,1+P2,0+P2,1)/4))

which is also equal to

¼ (F0,0+F1,0+P1,0+P1,1).

So this kind of edge points Ei,j can be calculated as follow

Ei,j =¼ (Fi-1,j +Fi,j+Pi,j+Pi,j+1)

Page 70: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CATMULL-CLARK SURFACES

Note that the edge points are the average of 4 points : the 2 face points of the 2 faces adjacent to the edge and the 2 points which define the edge. These edge points Ei,j can be calculted either as

Ei,j=¼ (Fi,j-1+Fi,j+Pi,j+Pi+1,j)

Or Ei,j=¼ (Fi-1,j+Fi,j+Pi,j+Pi,j+1)

Page 71: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CATMULL-CLARK SURFACES The remaining four points P’1,1, P’1,3, P’3,1 and P’3,3, as shown in the figure below are called

vertex points noted Vi,j.

Page 72: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CATMULL-CLARK SURFACES Let’s take the example of the vertex point V1,1 P’1,1 can be rewrited as follow

(1) V1,1 = P’1,1 = 1/16 ( (F0,0+F1,0+F0,1+F1,1) + (P1,0+P0,1+P2,1+P1,2) + 8 P1,1)

Note that the vertex points are then the average of the 4 face points adjacent to the vertex point, with the 4 endpoints of the 4 edges adjacent to the vertex point and with 8 times the corresponding vertex from the original mesh.

Page 73: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CATMULL-CLARK SURFACES By denoting Q = 1/4 (F0,0+F1,0+F0,1+F1,1),

R = 1/4 ( (P0,0+P1,1)/2 + (P1,0+P1,1)/2 + (P2,1+P1,1)/2 + (P1,2+P1,1)/2)

and

S = P1,1,

we obtain

V1,1 = P’1,1 = 1/4 (Q + 1/4 (P0,0+P1,0+P2,1+P1,2) + P1,1 -P1,1 + 2 P1,1)

= 1/4 (Q + 2R -P1,1 + 2 P1,1)

= 1/4 (Q + 2R + P1,1) = 1/4 (Q + 2R + S) (2)

Page 74: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CATMULL-CLARK SURFACES

Note that the vertex points are also equal to 1/4 (Q + 2R + S) with Q the average of the 4 face points adjacent to the vertex point, R the average of midpoints of the 4 edges incident on the vertex point and S is the corresponding

vertex from the original mesh.

Depending on the reference, formula (1) or formula (2) is used to define vertex points.

Page 75: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CATMULL-CLARK SURFACESSubdividing Meshes of Arbitrary Topology Given a mesh of control points with an arbitrary topology, we can generalize the face point, edge point, vertex point specification from the uniform cubic B spline surface calculations to obtain

Page 76: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CATMULL-CLARK SURFACES For each face of the mesh, generate the new face points which are the average of all the original points defining the face (We note that faces may have 3, 4, 5, or more points now defining them). Generate the new edge points which are calculated as the average of the two points which define the original edge with the two new face points of the faces adjacent to the edge. Calculate the new vertex points which is equal to 1/n (Q + 2R + (n-3)S), where n is the order of the vertex, and where Q is the average of the new face points of all faces adjacent to the original face point, R

is the average of the midpoints of all original edges incident on the original vertex point, and S is the original vertex point. This calculation rule of the vertex point generates surfaces that exhibit tangent plane continuity at all extraordinary points. With the rule 1/4 (Q + 2R + S) it was observed that in some arbitrary meshes, tangent plane continuity was not maintained at extraordinary points.

Page 77: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CATMULL-CLARK SURFACES Four steps in the Calmull-Clark refinement process

Page 78: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CATMULL-CLARK SURFACES

Page 79: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

CATMULL-CLARK SURFACES

Page 80: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Summarize Doo Sabin and Catmull Clark Subdivisions

Surfaces

Page 81: Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi

Summarize Doo Sabin and Catmull Clark Subdivisions Surfaces

Doo Sabin (respectively Catmull Clark) surface is locally a bi quadratic (respectively bi cubic) B spline surface, except at a finite number of control points (extraordinary points). Even at those points the Catmull Clark surface satisfies tangent plane continuity. Both subdivision schemes are uniform and stationary approximating scheme mostly for quadrilateral net but have rules for subdividing n sided polygons. The Doo Sabin (respectively Catmull Clark) refinement rule is based on corner cutting – dual (respectively vertex insertion primal). After the first subdivision step of Doo Sabin scheme, all vertices have valence four. After a single subdivision step of Catmull Clark scheme, all the faces in the control net are quadrilaterals.