Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics...

47
Manuel Mesters - Subdivision Surfaces Manuel Mesters - Subdivision Surfaces computer graphics & computer graphics & visualization visualization Seminar Computer Graphics Seminar Computer Graphics Geometric representation and processing: Geometric representation and processing: Subdivision Subdivision Surfaces Surfaces

Transcript of Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics...

Page 1: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

Manuel Mesters - Subdivision Surfaces Manuel Mesters - Subdivision Surfaces

computer graphics & computer graphics & visualizationvisualization

Seminar Computer GraphicsSeminar Computer Graphics

Geometric representation and processing:Geometric representation and processing: Subdivision SurfacesSubdivision Surfaces

Page 2: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

At a glanceAt a glance

Refinement 1 Refinement 2

Refinement ∞

Page 3: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

At a glanceAt a glance

Page 4: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

OutlineOutline

- Motivation: Geri’s Game Motivation: Geri’s Game

- Introduction: Subdivision BasicsIntroduction: Subdivision Basics

- Loop Subdivision SurfacesLoop Subdivision Surfaces

- Catmull-Clark Subdivision SurfacesCatmull-Clark Subdivision Surfaces

- SummarySummary

Page 5: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

OutlineOutline

- Motivation: Geri’s GameMotivation: Geri’s Game

- Introduction: Subdivision BasicsIntroduction: Subdivision Basics

- Loop Subdivision SurfacesLoop Subdivision Surfaces

- Catmull-Clark Subdivision SurfacesCatmull-Clark Subdivision Surfaces

- SummarySummary

Page 6: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Making of Geri‘s GameMaking of Geri‘s Game

Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (LZW)“

benötigt.

Page 7: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Geri’s GameGeri’s Game

- 1st animation using Subdivision Surfaces1st animation using Subdivision Surfaces

- Playground for new technologiesPlayground for new technologies

- Best Animated Short (1997)Best Animated Short (1997)

Page 8: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

DraftDraft

- 1000s of drawings- 1000s of drawings

Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (LZW)“

benötigt.

Page 9: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Clay ModelsClay Models

- Double Life Size Model:Double Life Size Model:- HeadHead

- HandsHands

Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (LZW)“

benötigt.

Page 10: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

DigitizingDigitizing

- Laserscanner -> Point CloudLaserscanner -> Point Cloud

Page 11: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

MeshMesh

- Point Cloud -> MeshPoint Cloud -> Mesh

- Controls for facial movements (manual insertion)Controls for facial movements (manual insertion)

Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (LZW)“

benötigt.

Page 12: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Animation ProcessAnimation Process

- Using Pixar’s RenderMan:Using Pixar’s RenderMan:- Animate MeshAnimate Mesh

- Call Controls / SubdivideCall Controls / Subdivide

Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (LZW)“

benötigt.

Page 13: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Cloth DynamicsCloth Dynamics

Zur Anzeige wird der QuickTime™ Dekompressor „TIFF (LZW)“

benötigt.

- Dynamic flexible meshDynamic flexible mesh

- Energy functionsEnergy functions

- Many equations ...Many equations ...

Page 14: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Watch Geri’s GameWatch Geri’s Game

Page 15: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

OutlineOutline

- Motivation: Geri’s Game Motivation: Geri’s Game

- Introduction: Subdivision BasicsIntroduction: Subdivision Basics

- Loop Subdivision SurfacesLoop Subdivision Surfaces

- Catmull-Clark Subdivision SurfacesCatmull-Clark Subdivision Surfaces

- SummarySummary

Page 16: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Subdivision - DefinitionSubdivision - Definition

Subdivision defines a smooth curve or surface asSubdivision defines a smooth curve or surface as

the limit of a sequence of successive refinementsthe limit of a sequence of successive refinements

Page 17: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Subdivision - DefinitionSubdivision - Definition

Subdivision defines a smooth curve or surface asSubdivision defines a smooth curve or surface as

the limit of a sequence of successive refinementsthe limit of a sequence of successive refinements

- Start: Start: Control MeshControl Mesh

- Process: Process: Apply refinement rules (many times)Apply refinement rules (many times)

- Result: Result: Smooth curve/surfaceSmooth curve/surface

Page 18: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Subdivision CurveSubdivision Curve

Start: Polygon

Apply refinement rule

Apply refinement rule

Apply refinement rule

Result: Smooth curve

Page 19: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Subdivision Curve - RulesSubdivision Curve - Rules

P0

P2

P3

P1

P neu =1

16−P0

alt + 9P1alt + 9P2

alt − P3alt

( )

Page 20: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Subdivision CurveSubdivision Curve

Page 21: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Different Algorithms - Different ResultsDifferent Algorithms - Different Results

Loop Catmull-Clark

Butterfly Doo-Sabin

Page 22: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Different Algorithms - Different ResultsDifferent Algorithms - Different Results

Loop Catmull-Clark

Butterfly Doo-Sabin

Page 23: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

OutlineOutline

- Motivation: Geri’s Game Motivation: Geri’s Game

- Introduction: Subdivision BasicsIntroduction: Subdivision Basics

- Loop Subdivision SurfacesLoop Subdivision Surfaces

- Catmull-Clark Subdivision SurfacesCatmull-Clark Subdivision Surfaces

- SummarySummary

Page 24: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Loop SubdivisionLoop Subdivision

Page 25: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Loop SubdivisionLoop Subdivision

original vertexoriginal vertexv3

v1 v2

v4

Page 26: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Loop SubdivisionLoop Subdivision

8

3

8

1

8

3

8

1

edge point (ep): constructed on each edgeedge point (ep): constructed on each edge

original vertexoriginal vertexv3

v1 v2

v4

ep

( ) ( )438

121

8

3vvvvep +++=

Page 27: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

vertex point vertex point constructed for each old (original) vertex constructed for each old (original) vertex

Loop SubdivisionLoop Subdivision

edge pointedge point

original vertexoriginal vertex

Page 28: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

vertex point: constructed for each old (original) vertexvertex point: constructed for each old (original) vertex

Loop SubdivisionLoop Subdivision

A given vertex has A given vertex has nn neighbor vertices. neighbor vertices.

The new vertex point: The new vertex point:

For For nn = 3 = 3

For For nn > 3 > 3 ⎟⎟

⎜⎜

⎛⎟⎟⎠

⎞⎜⎜⎝

⎛⎟⎠

⎞⎜⎝

⎛+−=2

2cos4

1

8

3

8

51

nns

π

16

3=s

( ) ⎟⎠

⎞⎜⎝

⎛∗+∗−= ∑

nivsvsnvp *)1(

vv

vv

Page 29: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Loop - Local SubdivisionLoop - Local Subdivision

- Exclude some edges from SubdivisionExclude some edges from Subdivision

- More details later ...More details later ...

Page 30: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

OutlineOutline

- Motivation: Geri’s Game Motivation: Geri’s Game

- Introduction: Subdivision BasicsIntroduction: Subdivision Basics

- Loop Subdivision SurfacesLoop Subdivision Surfaces

- Catmull-Clark Subdivision SurfacesCatmull-Clark Subdivision Surfaces

- SummarySummary

Page 31: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Catmull-Clark SubdivisionCatmull-Clark Subdivision

Page 32: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Catmull-Clark SubdivisionCatmull-Clark Subdivision

∑=n

ivnf

1

1FACE

42121 ffvv

e+++

=

EDGE

Page 33: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Catmull-Clark SubdivisionCatmull-Clark Subdivision

∑=n

ivnf

1

1FACE

42121 ffvv

e+++

=

EDGE

Page 34: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Catmull-Clark SubdivisionCatmull-Clark Subdivision

∑=n

ivnf

1

1FACE

42121 ffvv

e+++

=

EDGE

VERTEX

∑∑ ++−

=+j

jj

jii fn

en

vn

nv

221

112

Page 35: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Sharp creasesSharp creases

- Subdivision produces smooth surfacesSubdivision produces smooth surfaces

1. Tag Edges as “sharp” or “not-sharp”

During Subdivision,

2. if an edge is “sharp”, use sharp subdivision rules.

3. If an edge is “not-sharp”, use normal smooth subdivision rules.

Page 36: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Infinitely Sharp CreasesInfinitely Sharp Creases

- Tag Control vertices and edges as sharpTag Control vertices and edges as sharp

- Face points: same as smooth ruleFace points: same as smooth rule

- Edge points: place at midpoint of edgeEdge points: place at midpoint of edge

- Vertex pointsVertex points- One sharp incident edge (dart): same as smooth ruleOne sharp incident edge (dart): same as smooth rule

- Two sharp edges (crease): (eTwo sharp edges (crease): (e11 + 6v + 6vii + e + e22) / 8) / 8

- Three or more sharp edges (corner): do not modify pointThree or more sharp edges (corner): do not modify point

Page 37: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Sharp rulesSharp rules

∑=n

ivnf

1

1FACE (unchanged)

221 vv

e+

=EDGE

VERTEX

ii vv =+1

8

6 211

evev ii

++=+

crease

dart

corner ∑∑ ++−

=+j

jj

jii fn

en

vn

nv

221

112

>2

2

0,1

# adj. Sharp edges

Page 38: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Semi-sharp creasesSemi-sharp creases

1. Tag Edges as “sharp” or “not-sharp”

• n = 0 : “not sharp”

• n > 0 : sharp

During Subdivision,

1. if an edge is “sharp”, use sharp subdivision rules. Newly created edges, are assigned a sharpness of n-1.

2. If an edge is “not-sharp”, use normal smooth subdivision rules.

Page 39: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

Subdivision Subdivision

- Sharpness!Sharpness!

Page 40: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

OutlineOutline

- Motivation: Geri’s Game Motivation: Geri’s Game

- Introduction: Subdivision BasicsIntroduction: Subdivision Basics

- Loop Subdivision SurfacesLoop Subdivision Surfaces

- Catmull-Clark Subdivision SurfacesCatmull-Clark Subdivision Surfaces

- SummarySummary

Page 41: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

SummarySummary

Take home messageTake home message

Page 42: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

SummarySummarySubdivision defines a smooth curve or surface asSubdivision defines a smooth curve or surface as

the limit of a sequence of successive refinementsthe limit of a sequence of successive refinements

Page 43: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

SummarySummary

Page 44: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

SummarySummary

- There are different AlgorithmsThere are different Algorithms- Mesh TypeMesh Type

- RulesRules

Page 45: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

SummarySummary

- LoopLoop

- Catmull-ClarkCatmull-Clark

Page 46: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

SummarySummary

- SubdivisionSubdivision- Standard rules -> smoothnessStandard rules -> smoothness

- Additional rules -> sharpnessAdditional rules -> sharpness

- Sharpness parameter -> flexibilitySharpness parameter -> flexibility

Page 47: Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.

computer graphics & computer graphics & visualizationvisualization

Manuel Mesters - Subdivision SurfacesManuel Mesters - Subdivision Surfaces

The EndThe End

Thank you for your attentionThank you for your attention