28
1 CS 536 Computer Graphics Subdivision Surfaces Week 5, Lecture 8 David Breen Department of Computer Science Drexel University

Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

1

CS 536 Computer Graphics

Subdivision Surfaces

Week 5, Lecture 8

David Breen Department of Computer Science

Drexel University

Page 2: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Subdivision for Modeling and AnimationO

Foundations I:

The Basic Ideas

aÉåáë=wçêáå

kvr

mÉíÉê=pÅÜê∏ÇÉê

`~äíÉÅÜ

Page 3: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Subdivision for Modeling and AnimationP

pìêÑ~ÅÉ=êÉéêÉëÉåí~íáçåë■ ä~êÖÉ=Åä~ëë=çÑ=ëìêÑ~ÅÉë

■ áåíÉê~ÅíáîÉ=ã~åáéìä~íáçå

■ åìãÉêáÅ~ä=ãçÇÉäáåÖ

Modeling Geometry

Page 4: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Subdivision for Modeling and AnimationQ

Parameterized Surfaces

tÜ~í=~Äçìí=kro_p\■ ëéäáåÉ é~íÅÜÉë=~êÉ=ÖêÉ~íI=ÄìíÁ

■ ÇáÑÑáÅìäí=íç=ëíáíÅÜ=íÜÉã=íçÖÉíÜÉê

■ íêáããáåÖÁ=EïÜ~í=~=åáÖÜíã~êÉF

■ Å~å=ÄÉ=ëäçï=~åÇ=ÅìãÄÉêëçãÉ

■ ïÉ=åÉÉÇ=ëÅ~ä~ÄäÉ=~äÖçêáíÜãë=Ñçê=íÜÉ=ïÜçäÉ=ê~åÖÉ=Ñêçã=é~íÅÜÉë=íç=ÑáåÉ=ãÉëÜÉë

Page 5: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Subdivision for Modeling and AnimationR

Complex Shapes

bñ~ãéäÉW=_ìáäÇáåÖ=~=Ü~åÇ■ tççÇóÛë=Ü~åÇ=Ñêçã=máñ~êÛë qçó=píçêó

■ îÉêóI=îÉêó=ÇáÑÑáÅìäí=íç=~îçáÇ=ëÉ~ãë

Page 6: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Subdivision for Modeling and AnimationS

No More Seams

pìÄÇáîáëáçå=ëçäîÉë=íÜÉ=-ëíáíÅÜáåÖÒ=éêçÄäÉã■ ~=ëáåÖäÉ ëãççíÜ=ëìêÑ~ÅÉ=áë=ÇÉÑáåÉÇ

■ Éñ~ãéäÉW

■ dÉêáÛë=Ü~åÇ================================================EdÉêáÛë=d~ãÉX============================================máñ~êF

Page 7: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Subdivision for Modeling and AnimationT

Control Polyhedron

eçï=~êÉ=é~íÅÜ=Ä~ëÉÇ=ëìêÑ~ÅÉë=ÅçåíêçääÉÇ\■ Åçåíêçä=éçáåíë=E`sëF

■ éáÉÅÉïáëÉ=éçäóåçãá~ä

■ ïêáíÉ=çìí=ÅçÉÑÑáÅáÉåíë

■ éêçÅÉÇìê~ä=íÜêçìÖÜ=ëìÄÇáîáëáçå>

lo

Page 8: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Subdivision for Modeling and AnimationU

20+ Years of Subdivision

qÜÉ=ÄÉÖáååáåÖ■ ÅêÉ~íÉ=ëãççíÜ=ëìêÑ~ÅÉë=çìí=çÑ=~êÄáíê~êó=ãÉëÜÉë

Page 9: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Subdivision for Modeling and AnimationNM

What is Subdivision?

aÉÑáåÉ=~=ëãççíÜ=ëìêÑ~ÅÉ=~ë=íÜÉ=äáãáí=çÑ=~=ëÉèìÉåÅÉ=çÑ=ëìÅÅÉëëáîÉ=êÉÑáåÉãÉåíë

Page 10: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Subdivision for Modeling and AnimationNN

Why Subdivision?

j~åó=~ííê~ÅíáîÉ=ÑÉ~íìêÉë■ ~êÄáíê~êó=íçéçäçÖó

■ ëÅ~ä~ÄáäáíóI=ila

■ ãìäíáêÉëçäìíáçå

■ ëáãéäÉ=ÅçÇÉ

■ ÉÑÑáÅáÉåí=ÅçÇÉ

Page 11: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Level of Detail Rendering •  Use fewer triangles for models that are further

away, and therefore appear smaller

3

Page 12: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Level of Detail Rendering •  Use fewer triangles for models that are further

away, and therefore appear smaller

4

Page 13: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Multiresolution Modeling •  Edits made to lower resolution model

are propagated to high resolution model

3 Zorin, Schröder & Sweldens

Page 14: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Subdivision for Modeling and AnimationNO

Subdivision in 1D

qÜÉ=ëáãéäÉëí=Éñ~ãéäÉ■ éáÉÅÉïáëÉ=äáåÉ~ê=ëìÄÇáîáëáçå

( )rln xx21x += ( )rln yy21y +=

Page 15: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Subdivision for Modeling and AnimationNQ

Subdivision in 1D

^=ãçêÉ=áåíÉêÉëíáåÖ=Éñ~ãéäÉ■ íÜÉ=Qéí=ëÅÜÉãÉ

( )j2i

j1i

ji

j1i

1jii2 pp9p9p161p ++−

++ −++−=

Page 16: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Subdivision for Modeling and AnimationPV

Subdivision

^ééäó=ëìÄÇáîáëáçå=íç=Åçåíêçä=éçáåíë■ Çê~ï=ëìÅÅÉëëáîÉ=Åçåíêçä=éçäóÖçåë=ê~íÜÉê=íÜ~å=ÅìêîÉ=áíëÉäÑ

j1j Spp =+

( )tP j

( )tP 1j+

( )tP 2j+

Page 17: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Subdivision for Modeling and AnimationNS

Subdivision in 2D

nì~Çêáä~íÉê~ä■ áåíÉêéçä~íáåÖW=hçÄÄÉäí ëÅÜÉãÉ

Page 18: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Subdivision for Modeling and AnimationNT

Subdivision in 2D

qêá~åÖìä~ê■ ~ééêçñáã~íáåÖW=iççé=ëÅÜÉãÉ

Page 19: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Subdivision for Modeling and AnimationNU

The Basic Setup

qçéçäçÖáÅ~ä=êìäÉ■ ãçÇáÑó=ÅçååÉÅíáîáíó

Page 20: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Subdivision for Modeling and AnimationNV

The Basic Setup

dÉçãÉíêáÅ=êìäÉ■ ÅçãéìíÉ=ÖÉçãÉíêáÅ=éçëáíáçåë

■ äçÅ~ä=äáåÉ~ê=ÅçãÄáå~íáçå=çÑ=éçáåíë

ÉîÉå=~í=äÉîÉä=á çÇÇ=~í=äÉîÉä=á

Page 21: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Subdivision for Modeling and AnimationOM

Some Conditions I

pìÄÇáîáëáçå=êìäÉë=ëÜçìäÇ■ ÄÉ=Ñäç~íáåÖ=éçáåí=ÉÑÑáÅáÉåí

■ Ü~îÉ=Åçãé~Åí=ëìééçêí

■ áåÑäìÉåÅÉ=çÑ=Åçåíêçä=éçáåí=áë=ÑáåáíÉ

Page 22: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Subdivision for Modeling and AnimationON

Some Conditions II

pìÄÇáîáëáçå=êìäÉë=ëÜçìäÇ■ Ü~îÉ=äçÅ~ä=ÇÉÑáåáíáçå

■ ëíÉåÅáä=ïÉáÖÜíë=çåäó=ÇÉéÉåÇ=çå=íÜÉ=ëíêìÅíìêÉ=çÑ=~=ëã~ää=åÉáÖÜÄçêÜççÇ

Page 23: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Subdivision for Modeling and AnimationOO

Some Conditions III

pìÄÇáîáëáçå=êìäÉë=ëÜçìäÇ■ ÄÉ=~ÑÑáåÉäó áåî~êá~åí

Page 24: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Subdivision for Modeling and AnimationOP

Some Conditions IV

pìÄÇáîáëáçå=êìäÉë=ëÜçìäÇ■ ÄÉ=ëáãéäÉ

■ çåäó=~=ëã~ää=ëÉí=çÑ=ÇáÑÑÉêÉåí=ëíÉåÅáäë

■ éêÉÑÉê~Ääó=éêÉÅçãéìíÉÇ çÑÑäáåÉ

■ ~ÅÜáÉîÉ=ëçãÉ=çêÇÉê=çÑ=ëãççíÜåÉëë

■ `N É~ëóI=`OãìÅÜ=Ü~êÇÉê

■ éÉêÜ~éë=ïÉ=êÉ~ääó=ï~åí=Ñ~áêåÉëëKKK

Page 25: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Subdivision for Modeling and AnimationOQ

Some Questions

fë=pìÄÇáîáëáçå=ãçÇÉäáåÖ=áåÜÉêÉåíäó=éçäóÖçå~ä\■ klK=qÜÉ=ëìêÑ~ÅÉ=Åçåëáëíë=çÑ=é~íÅÜÉëI=ïÉ=àìëí=ÄìáäÇ=íÜÉã=éêçÅÉÇìê~ääó

■ ~ää=êÉåÇÉêáåÖ=áë=éçäóÖçå~äÁ

■ ^kaW=åç=ãçêÉ=ïçêêáÉë=~Äçìí=Åçåíáåìáíó=ÅçåÇáíáçåë>

Page 26: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Subdivision for Modeling and AnimationOR

Some Questions

pìÄÇáîáëáçå=é~íÅÜÉë■ Çç=íÜÉó=Ü~îÉ=~=é~ê~ãÉíÉêáò~íáçå\

■ ~êÉ=íÜÉó=É~ëó=íç=Éî~äì~íÉ\

■ ~êÉ=íÜÉó=É~ëó=íç=áãéäÉãÉåí\

■ ~êÉ=íÜÉó=ÉÑÑáÅáÉåí\

^ää=çÑ=íÜÉ=~ÄçîÉ=~åÇ=äçíë=ãçêÉ>■ ãìäíáêÉëçäìíáçåI=ÅçãéêÉëëáçåI=ÉíÅK

Page 27: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

6

Subdivision Surfaces Recap •  Subdivision surface is defined by

– Coarse Mesh & Subdivision Rule •  Define smooth surface as limit of

sequence of algorithmic refinements

Page 28: Subdivision Surfacesdavid/Classes/CS536/Lectures/L-08...Subdivision Surfaces Recap • Subdivision rule consists of two steps – Modify mesh topology, i.e. subdivide individual polygons

Subdivision Surfaces Recap• Subdivision rule consists of two steps

– Modify mesh topology, i.e. subdivide individual polygons

– Interpolate neighboring vertices to compute locations of new vertices

7