subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf ·...
Transcript of subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf ·...
![Page 1: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/1.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 1
subdivision surfaces
![Page 2: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/2.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 2
subdivision curves
• start with a piecewise linear curve • apply recursively subdivision rule
[Zorin and Schröder,2000]
![Page 3: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/3.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 3
subdivision surfaces
• start with polygon mesh • apply recursively subdivision rule
[Zor
in a
nd S
chrö
der,2
000]
![Page 4: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/4.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 4
subdivision surfaces
• subdiv.: limit surface of subdivision process – provably smooth surface! (i.e. continuous function) – subdiv. process: input is mesh, output is refined mesh
– limit surface )(1 ii f MM =+
iiMS
∞→= lim
[DeRose et al.,1998]
![Page 5: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/5.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 5
subdivision schemes
• two stages • mesh subdivision à new topology
– create new vertices and faces
• vertex placement à new geometry – compute vertex position
![Page 6: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/6.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 6
subdivision schemes
• different schemes available – depend on input/output topology and geometry
• quadrilaterals input: – Catmull-Clark
• triangles input: – Loop
![Page 7: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/7.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 7
loop subdivision scheme
• new topology: new faces – split each triangle in 4 triangles
[Zor
in a
nd S
chrö
der,2
000]
![Page 8: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/8.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 8
loop subdivision scheme
• new geometry: new vertex positions – need rules for even/odd (white/black) vertices
[Zor
in a
nd S
chrö
der,2
000]
![Page 9: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/9.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 9
loop subdivision rules
• new vertex pos: weighted average of neighbors
[Zor
in a
nd S
chrö
der,2
000]
![Page 10: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/10.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 10
boundaries and creases
• rules on boundaries – only consider vertices along the boundary
• creases: mark edges sharp – only consider vertices along a crease
![Page 11: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/11.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 11
extraordinary vertices
• vertices with non-standard num. of neighbors – unavoidable for complex topology – make subdivision ideal for this case
[Zor
in a
nd S
chrö
der,2
000]
![Page 12: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/12.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 12
loop subdivision rules
[Zor
in a
nd S
chrö
der,2
000]
!!"
#$$%
&!"#
$%& +−=
22cos41
83
851
nnπ
β
![Page 13: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/13.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 13
Catmull-Clark subdivision rules
[Zor
in a
nd S
chrö
der,2
000]
kk 4/1;2/3 == γβ
![Page 14: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/14.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 14
determining subdivision rules
• how to determine subdivision rule? – analyze property of limit surface – goal: smoothness
• limit surface has provable smoothness! – C1 at extraordinary points – C2 everywhere else
![Page 15: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/15.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 15
subdivision schemes comparison
[Zorin and Schröder,2000]
Loop Catmull-Clark
![Page 16: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/16.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 16
subdivision schemes comparison
[Zorin and Schröder,2000]
Loop Catmull-Clark
![Page 17: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/17.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 17
subdivision schemes comparison
[Zorin and Schröder,2000]
Loop Catmull-Clark Control Mesh
![Page 18: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/18.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 18
subdivision schemes comparison
[Zorin and Schröder,2000]
Loop Catmull-Clark
![Page 19: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/19.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 19
subdivision surface manipulation
• manipulate original mesh, while displaying subdiv
[Zor
in a
nd S
chrö
der,2
000]
![Page 20: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/20.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 20
subdivision surface manipulation
• manipulate original mesh, while displaying subdiv
![Page 21: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/21.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 21
subdivision surface manipulation
• add crease for sharp features – on edges
![Page 22: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/22.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 22
subdivision surface manipulation
• add crease for sharp features – on vertices
![Page 23: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/23.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 23
subdivision surface manipulation
• add crease for sharp features – on edges and vertices
![Page 24: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/24.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 24
subdivision surfaces
• heavily used in Computer Graphics – old algorithms but practicalities introduced recently – works well with animation
• arbitrary topology, no stitching
– Pixar’s Geri’s Game 1998 • Catmull-Clark subdiv • complex control mesh • heavy use of creases
![Page 25: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/25.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 25
surface representation comparison
![Page 26: subdivision surfaces - Fabio Pellacinipellacini.di.uniroma1.it/...SubdivisionSurfaces.pdf · computer graphics • subdivision surfaces © 2009 fabio pellacini • 4 subdivision surfaces](https://reader030.fdocuments.us/reader030/viewer/2022040613/5f08d4257e708231d423eba3/html5/thumbnails/26.jpg)
computer graphics • subdivision surfaces © 2009 fabio pellacini • 26
representation comparison
polygon meshes
implicit surfaces
parametric surfaces
subdivision surfaces
accurate no yes yes yes
concise no yes yes yes
intuitive specification no no yes no
local support yes no yes yes
affine invariant yes yes yes yes
arbitrary topology yes no no yes
guaranteed continuity no yes yes yes
parameterization no no yes no
efficient display yes no yes yes
efficient intersection no yes no no
[based on Finkelstein 2004]