subdivision surface (2) - zhejiang university · • subdivision surfaces are based upon the binary...

93
Subdivision Surface (2) Hongxin Zhang and Jieqing Feng 2006-12-28 State Key Lab of CAD&CG Zhejiang University

Upload: others

Post on 27-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

Subdivision Surface (2)

Hongxin Zhang and Jieqing Feng

2006-12-28

State Key Lab of CAD&CGZhejiang University

Page 2: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 2

Contents

• Subdivision Methods for Quadratic B-Spline Surfaces

• Doo-Sabin Surfaces • Subdivision Methods for Cubic B-Spline

Surfaces • Catmull-Clark Surfaces • Loop Surfaces

Page 3: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 3

Subdivision Methods for Quadratic B-Spline Surfaces

• Overview• The Matrix Equation for a Uniform

Biquadratic B-Spline Surface• Subdividing the Surface• Generating the Refinement Procedure • Summary

Page 4: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 4

Overview

• Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface.

a initial polygonal mesh + a subdivision (or refinement) operation = a new polygonal mesh that has a greaternumber of polygonal elementsit 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 5: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 5

The Matrix Equation for a Uniform Biquadratic B-Spline Surface

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

Page 6: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 6

The Matrix Equation for a Uniform Biquadratic B-Spline Surface

Biquadratic B-spline surface can be written as the following equation in matrix form

where M is the 3×3 matrix

Page 7: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 7

Subdividing the Surface

• This patch can be subdivided into four subpatches, 16 sub-control points.

the subpatch corresponding to 0≤u,v≤1/2, the four “interior” control points

Page 8: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 8

Subdividing the Surface

To subdivide the surface, we reparameterizing of the surface by u′=u/2 and v′= v/2 and define new the surface P′(u,v)

Page 9: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 9

Subdividing the Surface

Page 10: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 10

Subdividing the Surface

where P′=SPST, and

The surface P′(u,v) is written as

The P′(u,v) is a uniform biquadratic B-spline patch

MP′MT

Page 11: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 11

Subdividing the Surface

The matrix S is called the “splitting matrix”, and is given by

Page 12: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 12

Subdividing the Surface

The new control point mesh P′=SPST corresponding to the subdivided patch

Page 13: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 13

Subdividing the Surface

The P′i,j can be written as

Page 14: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 14

Subdividing the Surface

• These equations can be looked at in two waysSubdivision masks: weighing the four points in the ratio of 9-3-3-1

Extension of Chaikin’s curve to surface: 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

Page 15: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 15

Generating the Refinement Procedure

• All 16 of the possible points generated through the binary subdivision of the quadratic patch can be defined by the same subdivision masks

Page 16: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 16

Generating the Refinement Procedure

Page 17: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 17

Summary

• The extension of Chaikin's Curve to surfaces

• Non-rectangular topological structureDoo-Sabin surfaces by Donald Doo and Malcolm Sabin

Page 18: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 18

Original CubeOriginal Cube The 1st subdivisionThe 1st subdivision The 2nd subdivisionThe 2nd subdivision

The 3rd subdivisionThe 3rd subdivision The 5th subdivisionThe 5th subdivision

Doo-Sabin Surfaces

Page 19: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 19

Doo-Sabin Surfaces

• The Procedure for the Biquadratic Uniform B-Spline Patch

• The Procedure for Meshes of Arbitrary Topology

• Illustrations• Summary

Malcolm Sabin

Page 20: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 20

The Procedure for the Biquadratic Uniform B-Spline Patch

• The subdivision masks for the biquadratic uniform B-spline patches

• Each new points are simply the average of four particular points taken in a polygon

the corresponding original pointthe two edge points (the midpoints of the edges that are adjacent to this vertex in the polygon) the face point (average of the vertices of the polygon)

Page 21: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 21

The Procedure for the Biquadratic Uniform B-Spline Patch

Each new face generated has four vertices

Page 22: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 22

The Procedure for Meshes of Arbitrary Topology

• For each vertex Pi of each face of the object, generate a new point P′i as average of the vertex, the two edge points and the face point of the face

Page 23: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 23

The Procedure for Meshes of Arbitrary Topology

• For each face, connect the new points that have been generated for each vertex of the face.

Page 24: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 24

The Procedure for Meshes of Arbitrary Topology

• For each vertex, connect the new points that have been generated for the faces that are adjacent to this vertex.

Page 25: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 25

The Procedure for Meshes of Arbitrary Topology

• For each edge, connect the new points that have been generated for the faces that are adjacent to this edge.

Page 26: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 26

The Procedure for Meshes of Arbitrary Topology

• The polygons generated through this refinement step become the set of polygons for the next step.

Note: the “cutting off the corners” of the polygonal mesh

Page 27: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 27

Illustrations

Page 28: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 28

Illustrations

• extraordinary pointsNot 4 edges emitted from the point

• after the first subdivision, all vertices have valencefour

Page 29: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 29

Original CubeOriginal Cube The 1st subdivisionThe 1st subdivision The 2nd subdivisionThe 2nd subdivision

The 3rd subdivisionThe 3rd subdivision The 5th subdivisionThe 5th subdivision

Illustrations

Page 30: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 30

Illustrations

Doo-Sabin Subdivision Subdivision SurfaceSurface

Page 31: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 31

Summary

• The algorithm defines new points on each face in the refinement process, these new points only depend on

the face pointthe vertex on a face two edge midpoints for edges adjacent to the vertex

• The Doo-Sabin surface is locally a bi-quadratic B-spline surface, except at a finite number of extraordinary control points.

Page 32: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 32

Subdivision Methods for Cubic B-Spline Surfaces

• Overview• A Matrix Equation for the Bicubic Uniform

Spline Surfaces • Subdividing the Bicubic Patch • Extending this Subdivision Procedure to

the Entire Patch • Summary

Page 33: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 33

Overview

• Ed Catmull and Jim Clark: extend Doo and Sabin's algorithm to bicubic surfaces.

The methods of Doo-Sabin algorithm: binary subdivision of the uniform bi-quadratic B-spline patches.Study of the cubic case would lead to a better subdivision surface generation scheme.

Page 34: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 34

A Matrix Equation for the Bicubic Uniform Spline Surfaces

Consider the biqcubic uniform B-spline surface P(u,v) defined by the 4×4 array of control points

Page 35: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 35

A Matrix Equation for the Bicubic Uniform Spline Surfaces

Page 36: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 36

A Matrix Equation for the Bicubic Uniform Spline Surfaces

where

where M is the 4×4 matrix

Page 37: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 37

Subdividing the Bicubic Patch

• The bicubic uniform B-spline patch can be subdivided into

four subpatches (1 4)25 unique sub-control points (16 25)

• Focus on the subpatch corresponding to 0≤u,v≤1/2

the others will follow by symmetry

Page 38: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 38

Subdividing the Bicubic Patch

Page 39: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 39

Subdividing the Bicubic Patch

To subdivide the surface, we reparameterizing of the surface by u′=u/2 and v′= v/2 and define new the surface P′(u,v)

Page 40: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 40

Subdividing the Bicubic Patch P′(u,v)

Page 41: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 41

Subdividing the Bicubic Patch

where P′=SPST, and

The surface P′(u,v) is written as

Page 42: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 42

Subdividing the Bicubic Patch

The P′(u,v) is a uniform bicubic B-spline patch

The matrix S is called the “splitting matrix”, and is given by

S

Page 43: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 43

Subdividing the Bicubic Patch

The control point array P′

Calculating above matrix multiplication, we can obtain

Page 44: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 44

Subdividing the Bicubic Patch

Page 45: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 45

Subdividing the Bicubic Patch

Page 46: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 46

Subdividing the Bicubic Patch

• Each of these refined points can be classified into three categories

face pointsedge pointsvertex points

Page 47: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 47

Subdividing the Bicubic Patch

• Face point: the average of the four points that bound the respective face (P00

′ ,P02′, P20

′ and P22′)

Page 48: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 48

Subdividing the Bicubic Patch

• In general , the face point Fi,j

Fi,j =(Pi,j+Pi+1,j+Pi,j+1+Pi+1,j+1)/4

• we can rewrite the above equations with these face points substituted on the right-hand side, and obtain

Page 49: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 49

Subdividing the Bicubic Patch

Page 50: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 50

Subdividing the Bicubic Patch

Simplifying these equations, we obtain

Page 51: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 51

Subdividing the Bicubic Patch

Page 52: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 52

Subdividing the Bicubic Patch

Page 53: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 53

Subdividing the Bicubic Patch

• Edge points: average ofthe two points that define the original edgethe two new face points of the faces sharing the edge

P′01, P′03, P′10, P′12, P′21, P′23, P′30, P′32

Page 54: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 54

Subdividing the Bicubic Patch

Page 55: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 55

Subdividing the Bicubic Patch

• The edge points Ei,j can be calculated

depending on which side of the edge point the two faces lie.

Page 56: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 56

Subdividing the Bicubic Patch

Replacing edge points on the right-hand side of the above equations

Page 57: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 57

Subdividing the Bicubic Patch

Page 58: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 58

Subdividing the Bicubic Patch

• Vertex points: P′11, P′13, P′13, P′33,

Q: average of the face points of the faces adjacent to the vertex pointR: average of the midpoints of the edges adjacent to the vertex pointS: corresponding vertex from the original mesh

Page 59: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 59

Subdividing the Bicubic Patch

Page 60: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 60

Subdividing the Bicubic Patch

For example: P′13

Page 61: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 61

Subdividing the Bicubic Patch

• Summary: All sixteen new points of the subdivision have been characterized in terms of

face points, edge points vertex points

• A geometric method has been developed to calculate these points.

Page 62: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 62

Extending this Subdivision Procedure to the Entire Patch

• One subdiviosn step:16 points 25 points

• We call the mesh generated by the 25points as a refinement of the original mesh

• Three types of new pointsface points, edge points, vertex points

Page 63: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 63

Extending this Subdivision Procedure to the Entire Patch

• For each face in the original mesh, generate the new face points - which are the average of all the original points defining the face.

• For each internal edge of the original mesh (i.e. an edge not on the boundary), generate the new edge points - which are calculated as the average of four points: the two points which define the edge, and the two new face points for the faces that are adjacent to the edge.

Page 64: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 64

Extending this Subdivision Procedure to the Entire Patch

• For each internal vertex of the original mesh (i.e. a vertex not on the boundary of the mesh), generate the new vertex points – which are calculated as the average of Q, 2R and S

Q is the average of the new face points of all faces adjacent to the original vertex pointR is the average of the midpoints of all original edges incident on the original vertex pointS is the original vertex point.

Page 65: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 65

Summary

• The subdivision of the bicubic uniform B-spline surface produces a simple procedure based upon face points, edge points and vertex points

• Catmull and Clark produce a refinement strategy that works on a mesh of arbitrary topology based on above procedure

Page 66: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 66

Catmull-Clark Surfaces

Page 67: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 67

Edwin Catmull Jim Clark: COOL!

Edwin Catmull, President of PixarAnimation Studios

Jim Clark is the founder of Netscape Communications Corp., Healtheon/Web MD Corp., and Silicon Graphics, Inc. Currently he serves as Chairman of the Board for myCFO, which he also founded

Page 68: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 68

Catmull-Clark Surfaces

• Overview• Specifying the Refinement Procedure • Example• Summary

Page 69: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 69

Overview

• Ed Catmull and Jim ClarkFollowing the methodology of Doo and SabinUtilizing the subdivision of bicubic uniform B-spline surfaces for

rectangular meshes, meshes of an arbitrary topology

Generalizing the definition of a face pointModifying the method for calculating vertex pointsSpecifying a method for reconnecting the points into a mesh

Page 70: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 70

Specifying the Refinement Procedure

• Given a mesh of control points with an arbitrary topology, we can generalize the face point, edge point, vertex pointspecification from the uniform B-spline surface calculations

Page 71: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 71

Specifying the Refinement Procedure

• 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 many points now defining them).

• Generate the new edge points - which are calculated as the average of the midpoints of the original edge with the two new face points of the faces adjacent to the edge.

Page 72: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 72

Specifying the Refinement Procedure

• Calculate the new vertex points – which are calculated as the average of Q, 2Rand [(n-3)/n]S

Q is the average of the new face points of all faces adjacent to the original face pointR is the average of the midpoints of all original edges incident on the original vertex pointS is the original vertex point

Page 73: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 73

Specifying the Refinement Procedure

• The mesh is reconnected by the following method

Each new face point is connected to the new edge points of the edges defining the original face. Each new vertex point is connected to the new edge points of all original edges incident on the original vertex point.

Page 74: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 74

Example (1)

Face pointsOriginal mesh

Page 75: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 75

Example (1)

Vertex pointEdge points

Page 76: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 76

Example (1)

Connect new points to generate refined mesh

Page 77: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 77

Example (2)

Face pointsOriginal mesh

Page 78: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 78

Example (2)

Vertex pointEdge points

Page 79: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 79

Example (2)

Connect new points to generate refined mesh

Page 80: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 80

Example (3) --- 3 steps

Page 81: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 81

Example (4)

Page 82: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 82

Summary

• We note that the new set of control points has the property that all faces have four sides.

• We also note that the vertices corresponding to the original control points retain the valence (the number of edges that are adjacent to the vertex).

Page 83: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 83

Summary

• We note that any portion of the surface where we have a 4×4 array of control points in a rectangular topology, represents a bicubic uniform B-spline surface patch

Page 84: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 84

Summary

• Extraordinary point: the valence is not four

• The limit of Catmull-Clark subdivision surface are piecewise uniform bicubic B-spline surface patches except for the Extraordinary point

Page 85: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 85

Loop Surfaces

• Overview• Loop Surfaces for Regular Meshes • Specifying the New Vertex Rules for

Extraordinary Points• Examples

Charles LoopResearcher

Microsoft Research Graphics Group

Page 86: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 86

Overview

• Doo-Sabin surfaces: uniform biquadraticB-spline surface subdivision

• Catmull-Clark surfaces: bicubic uniform B-spline surface subdivision

• Loop surfaces: the quartic uniform box splines subdivision

a mesh of triangles

Page 87: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 87

Loop Surfaces for Regular Meshes

• Given a triangular mesh, the Loop refinement scheme generates

vertex points: vertex maskedge points: edge mask

Vertex mask Edge mask Edge maskEdge mask

Page 88: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 88

Loop Surfaces for Regular Meshes

• About edge mask: edge point is the average of the two centers of the faces that share the edge and the midpoint of the edge 2

22 22 2

2

2

Page 89: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 89

Loop Surfaces for Regular Meshes

• About the vertex mask: the vertex point is a convex combination of the points V (5/8), the original vertex, and Q(3/8) the average of the original points that share an edge with V

Page 90: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 90

Specifying the New Vertex Rules for Extraordinary Points

• Extraordinary point (valence ≠ 6):

k: valence of the extraordinary points

Page 91: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 91

Examples

Page 92: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 92

Examples

Page 93: Subdivision Surface (2) - Zhejiang University · • Subdivision surfaces are based upon the binary subdivision of the uniform B-spline surface. a initial polygonal mesh + a subdivision

12/28/2006 State Key Lab of CAD&CG 93

Downloading Course

http://www.cad.zju.edu.cn/home/jqfeng/GM/GM06.zip