what is subdivision based representation? subdivision...

52
1 What is subdivision based representation? Subdivision Surfaces 15.12 Subdivision Surfaces

Upload: others

Post on 19-Jun-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

1

What is subdivision based

representation?

Subdivision Surfaces

15.12 Subdivision Surfaces

Page 2: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

2

What is so special?

One piece

representation™

(arbitrary topology)

Multi-resolution

(Scalability)

Code

Simplicit

y

Covers both

polygon form and

surface form

(Uniformity)

Numerical

stability

Page 3: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

3

One piece

representation™

Page 4: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

4

Multi-resolution

(Scalability)

Page 5: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

5

Covers both polygon form and surface form

(Uniformity of representation)

Page 6: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

6

So, just what is a

subdivision surface?

Triangular

Loop Butterfly

QuadrilateralCatmull-Clark Doo-Sabin

Page 7: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

7

Basic Concept (Catmull-Clark Scheme):

: vertices from mesh M0

, , : vertices to be generated for M1

e5

0

e4

0

e3

0

e2

0

e1

0

v0

Around a vertex v of degree 5

Page 8: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

8

Basic Concept (Catmull-Clark Scheme):

Generating new face points

Face point: centroid of each face

f5

1f4

1

f3

1

f2

1f11

v0

: face point

Page 9: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

9

Basic Concept (Catmull-Clark Scheme):

Generating new edge points

f5

1f4

1

f3

1

f2

1f11

v0

: edge point

e2

1

e11

e5

1

e3

1

e4

1

4

11

1

001 iiii

ffeve

Page 10: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

10

Basic Concept (Catmull-Clark Scheme):

Generating new vertex points

f5

1f4

1

f3

1

f2

1f11

v0

: vertex point

e2

1

e11

e5

1

e3

1

e4

1

1

2

0

2

01 112ii f

ne

nv

n

nv

v1

Page 11: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

11

Basic Concept (Catmull-Clark Scheme):

Forming new edges

f5

1f4

1

f3

1

f2

1f11

v0

: vertex point

e2

1

e11

e5

1

e3

1

e4

1

v1

Page 12: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

12

• Repeatedly refining the control meshes,

one gets M0,M1,M2,M3, limit

surface (subdivision surface)

M0

M1

M2

M3

S = M∞

Page 13: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

13

Modeling made much easier. Why?• No restrictions on the topology of the control points

• Local refinement is possible

NURBS Catmull-Clark

NURBS Catmull-Clark

Page 14: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

14

Example of control meshes of

Catmull-Clark subdivision surfaces

Page 15: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

15

Can model any kind of special features

(by modifying the subdivision rules)

Page 16: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

16

Most importantly, can represent any shape with

just one surface

(one piece representation™)

One Piece Multi-Piece

Solid Modeling

Page 17: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

17

Is One Piece Representation™ Good?

Data Management: Simpler

Rendering: More efficient

Machining: More precise

Animation: Crack free

Page 18: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

18

Does this mean

the solid modeling area

is no longer needed?

Page 19: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

19

What is subdivision based representation?

Subdivision Surfaces

?CAD/CAM

Page 20: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

20

What is missing?

1. No parameterization

2. No error control

3. No adaptive tessellation

Page 21: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

21

• Without error controlNo CAD/CAM applications

• Without parameterizationDifficult to perform picking, rendering, texture mapping

• Without adaptive tessellationToo expensive to use

Page 22: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

22

A major breakthrough occurred in 1998

• Jos Stam

• Parameterization of Catmull-Clark

Subdivision Surfaces

• 1998

Page 23: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

23

Work on Subdivision Surface

Parameterization

1. J. Stam (1998)

2. D. Zorin, D. Kristjansson (2002)

3. S. Lai, F. Cheng (2005)

Page 24: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

24

J. Stam Lai/Cheng

(Discrete Fourier Transform)

The Extended Subdivision Diagram

Parameterization

Page 25: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

25

Applications of the new

parameterization technique

• Surface Evaluation

• Texture Mapping

• Boolean Operations

• Surface Trimming

• Adaptive Tessellation

• Animation

Page 26: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

26

Surface Evaluation

Fast, Exact Rendering

Page 27: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

27

Texture Mapping1

1: Lai and Cheng, 2005

Page 28: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

28

Texture Mapping1

1: Lai and Cheng, 2005

Page 29: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

29

Texture Mapping1

1: Lai and Cheng, 2005

Page 30: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

30

Boolean Operations2

2: Lai and Cheng, 2005

Page 31: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

31

Surface Trimming2

2: Lai and Cheng, 2005

Page 32: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

32

Adaptive Tessellation3

3: Lai and Cheng, 2005

Page 33: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

33

What is error control?

Page 34: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

34

Error Control: Given ε > 0, when would ║Mn - S║< ε ?

M0

M1

M2

Mn

S = M∞

Cross-Sectional View

Limit Surface

ε

Page 35: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

35

What metric should we use to assess

║Mn - S║ for an extra-ordinary patch?

Page 36: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

36

A solution is finally available…

• F. Cheng, G. Chen, J. Yong

• Subdivision Depth Computation for

Catmull-Clark Subdivision Surfaces

• 2005

Page 37: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

37

This work is also important for adaptive subdivision5.

5: J. Yong, F. Cheng, (2004)

Control Mesh Limit Surface Uniform Subdivision Adaptive Subdivision

Page 38: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

38

Basic Idea: Use unbalanced subdivision6 to

provide smooth transition between areas with

different densities

6: F. Cheng, J. Jaromczyk et al (1989)

2

0

0

0

Page 39: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

12/9/2014 39University of Kentucky

Adaptive subdivision:input: a piecewise surface P and a subdivision level

assignment S

output: a triangular linear approximaiton P** of P

Three phases:Phase 1: define a label for each vertex of P

Phase 2: generate a gradrilateral subdivision mesh P*

of P

Phase 3: convert P* to a triangular linear approximation

P** of P

Page 40: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

12/9/2014 40University of Kentucky

Phase 1:

/* F { f | f is a patch of P } */

for each vertex v of P do

L (v ) := max( {1} { S(f ) | f F, v is a vertex of f } )

Page 41: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

12/9/2014 41University of Kentucky

Phase 2:

1. for each vertex v of P do

LABEL(v ) := L(v );

2. for each patch f of P do

Subdivide(f );

Page 42: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

12/9/2014 42University of Kentucky

Subdivide(f : quadrilateral surface patch);

if (LABEL(v ) > 0 for more than one vertex of f )

then

balanced_sub( );

for i :=1 to 4 do

subdivide( );

else if (LABEL(v ) > 0 for only one vertex of f )

then

unbalanced_sub( );

for i :=1 to 3 do

subdivide( );

if

if

4321 ,,,, fffff

321 ,,, ffff

Page 43: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

12/9/2014 43University of Kentucky

Page 44: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

12/9/2014 44University of Kentucky

Page 45: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

12/9/2014 45University of Kentucky

Page 46: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

46

Example of adaptive subdivision

Significant savings

Page 47: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

47

• Pixar’s Renderman

• Alias|Wavefront’s Maya

• Nichimen’s Mirai

• Newtek’s Lightwave 3D

Subdivision surfaces have already

been used in

Page 48: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

48

Question:

“Is subdivision the representation scheme for

future visualization & animation applications?”

Page 49: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

49

The End

Page 50: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

50

Acknowledgement:

• Research work presented here is supported

by NSF (DMS-0310645, DMI-0422126).

• Some datasets are taken from P. Schroeder,

D. Zorin, L. Kobbelt, H. Hoppe.

Page 51: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

51

Page 52: What is subdivision based representation? Subdivision Surfacescheng/cs535/Notes/CS535-Curves-5.pdf · Subdivision Surfaces •1998. 23 Work on Subdivision Surface Parameterization

52