3d modeling: subdivision surfaces & solid modelingdavid/classes/cs430/lectures/l... · 3d...
TRANSCRIPT
![Page 1: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/1.jpg)
1
CS 430/536Computer Graphics I
3D Modeling:Subdivision Surfaces &
Solid Modeling Week 8, Lecture 15
David Breen, William Regli and Maxim PeysakhovGeometric and Intelligent Computing Laboratory
Department of Computer ScienceDrexel University
http://gicl.cs.drexel.edu
![Page 2: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/2.jpg)
2
Overview
• Subdivision surfaces– Modify topology– Interpolate vertices
• Solid Modeling– Boolean operations– Constructive Solid Geometry
![Page 3: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/3.jpg)
Subdivision for Modeling and AnimationO
Foundations I:
The Basic Ideas
aÉåáë=wçêáå
kvr
mÉíÉê=pÅÜê∏ÇÉê
`~äíÉÅÜ
![Page 4: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/4.jpg)
Subdivision for Modeling and AnimationP
pìêÑ~ÅÉ=êÉéêÉëÉåí~íáçåë■ ä~êÖÉ=Åä~ëë=çÑ=ëìêÑ~ÅÉë
■ áåíÉê~ÅíáîÉ=ã~åáéìä~íáçå
■ åìãÉêáÅ~ä=ãçÇÉäáåÖ
Modeling Geometry
![Page 5: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/5.jpg)
Subdivision for Modeling and AnimationQ
Parameterized Surfaces
tÜ~í=~Äçìí=kro_p\■ ëéäáåÉ é~íÅÜÉë=~êÉ=ÖêÉ~íI=ÄìíÁ
■ ÇáÑÑáÅìäí=íç=ëíáíÅÜ=íÜÉã=íçÖÉíÜÉê
■ íêáããáåÖÁ=EïÜ~í=~=åáÖÜíã~êÉF
■ Å~å=ÄÉ=ëäçï=~åÇ=ÅìãÄÉêëçãÉ
■ ïÉ=åÉÉÇ=ëÅ~ä~ÄäÉ=~äÖçêáíÜãë=Ñçê=íÜÉ=ïÜçäÉ=ê~åÖÉ=Ñêçã=é~íÅÜÉë=íç=ÑáåÉ=ãÉëÜÉë
![Page 6: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/6.jpg)
Subdivision for Modeling and AnimationR
Complex Shapes
bñ~ãéäÉW=_ìáäÇáåÖ=~=Ü~åÇ■ tççÇóÛë=Ü~åÇ=Ñêçã=máñ~êÛë qçó=píçêó
■ îÉêóI=îÉêó=ÇáÑÑáÅìäí=íç=~îçáÇ=ëÉ~ãë
![Page 7: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/7.jpg)
Subdivision for Modeling and AnimationS
No More Seams
pìÄÇáîáëáçå=ëçäîÉë=íÜÉ=-ëíáíÅÜáåÖÒ=éêçÄäÉã■ ~=ëáåÖäÉ ëãççíÜ=ëìêÑ~ÅÉ=áë=ÇÉÑáåÉÇ
■ Éñ~ãéäÉW
■ dÉêáÛë=Ü~åÇ================================================EdÉêáÛë=d~ãÉX============================================máñ~êF
![Page 8: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/8.jpg)
Subdivision for Modeling and AnimationT
Control Polyhedron
eçï=~êÉ=é~íÅÜ=Ä~ëÉÇ=ëìêÑ~ÅÉë=ÅçåíêçääÉÇ\■ Åçåíêçä=éçáåíë=E`sëF
■ éáÉÅÉïáëÉ=éçäóåçãá~ä
■ ïêáíÉ=çìí=ÅçÉÑÑáÅáÉåíë
■ éêçÅÉÇìê~ä=íÜêçìÖÜ=ëìÄÇáîáëáçå>
lo
![Page 9: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/9.jpg)
Subdivision for Modeling and AnimationU
20+ Years of Subdivision
qÜÉ=ÄÉÖáååáåÖ■ ÅêÉ~íÉ=ëãççíÜ=ëìêÑ~ÅÉë=çìí=çÑ=~êÄáíê~êó=ãÉëÜÉë
![Page 10: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/10.jpg)
Subdivision for Modeling and AnimationNM
What is Subdivision?
aÉÑáåÉ=~=ëãççíÜ=ëìêÑ~ÅÉ=~ë=íÜÉ=äáãáí=çÑ=~=ëÉèìÉåÅÉ=çÑ=ëìÅÅÉëëáîÉ=êÉÑáåÉãÉåíë
![Page 11: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/11.jpg)
Subdivision for Modeling and AnimationNN
Why Subdivision?
j~åó=~ííê~ÅíáîÉ=ÑÉ~íìêÉë■ ~êÄáíê~êó=íçéçäçÖó
■ ëÅ~ä~ÄáäáíóI=ila
■ ãìäíáêÉëçäìíáçå
■ ëáãéäÉ=ÅçÇÉ
■ ÉÑÑáÅáÉåí=ÅçÇÉ
![Page 12: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/12.jpg)
Level of Detail Rendering • Use fewer triangles for models that are further
away, and therefore appear smaller
3
![Page 13: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/13.jpg)
Level of Detail Rendering • Use fewer triangles for models that are further
away, and therefore appear smaller
4
![Page 14: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/14.jpg)
Multiresolution Modeling • Edits made to lower resolution model
are propagated to high resolution model
3 Zorin, Schröder & Sweldens
![Page 15: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/15.jpg)
Subdivision for Modeling and AnimationNO
Subdivision in 1D
qÜÉ=ëáãéäÉëí=Éñ~ãéäÉ■ éáÉÅÉïáëÉ=äáåÉ~ê=ëìÄÇáîáëáçå
( )rln xx21x += ( )rln yy21y +=
![Page 16: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/16.jpg)
Subdivision for Modeling and AnimationNQ
Subdivision in 1D
^=ãçêÉ=áåíÉêÉëíáåÖ=Éñ~ãéäÉ■ íÜÉ=Qéí=ëÅÜÉãÉ
( )j2i
j1i
ji
j1i
1jii2 pp9p9p161p ++−
++ −++−=
![Page 17: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/17.jpg)
Subdivision for Modeling and AnimationPV
Subdivision
^ééäó=ëìÄÇáîáëáçå=íç=Åçåíêçä=éçáåíë■ Çê~ï=ëìÅÅÉëëáîÉ=Åçåíêçä=éçäóÖçåë=ê~íÜÉê=íÜ~å=ÅìêîÉ=áíëÉäÑ
j1j Spp =+
( )tP j
( )tP 1j+
( )tP 2j+
![Page 18: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/18.jpg)
Subdivision for Modeling and AnimationNS
Subdivision in 2D
nì~Çêáä~íÉê~ä■ áåíÉêéçä~íáåÖW=hçÄÄÉäí ëÅÜÉãÉ
![Page 19: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/19.jpg)
Subdivision for Modeling and AnimationNT
Subdivision in 2D
qêá~åÖìä~ê■ ~ééêçñáã~íáåÖW=iççé=ëÅÜÉãÉ
![Page 20: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/20.jpg)
Subdivision for Modeling and AnimationNU
The Basic Setup
qçéçäçÖáÅ~ä=êìäÉ■ ãçÇáÑó=ÅçååÉÅíáîáíó
![Page 21: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/21.jpg)
Subdivision for Modeling and AnimationNV
The Basic Setup
dÉçãÉíêáÅ=êìäÉ■ ÅçãéìíÉ=ÖÉçãÉíêáÅ=éçëáíáçåë
■ äçÅ~ä=äáåÉ~ê=ÅçãÄáå~íáçå=çÑ=éçáåíë
ÉîÉå=~í=äÉîÉä=á çÇÇ=~í=äÉîÉä=á
![Page 22: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/22.jpg)
Subdivision for Modeling and AnimationOM
Some Conditions I
pìÄÇáîáëáçå=êìäÉë=ëÜçìäÇ■ ÄÉ=Ñäç~íáåÖ=éçáåí=ÉÑÑáÅáÉåí
■ Ü~îÉ=Åçãé~Åí=ëìééçêí
■ áåÑäìÉåÅÉ=çÑ=Åçåíêçä=éçáåí=áë=ÑáåáíÉ
![Page 23: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/23.jpg)
Subdivision for Modeling and AnimationON
Some Conditions II
pìÄÇáîáëáçå=êìäÉë=ëÜçìäÇ■ Ü~îÉ=äçÅ~ä=ÇÉÑáåáíáçå
■ ëíÉåÅáä=ïÉáÖÜíë=çåäó=ÇÉéÉåÇ=çå=íÜÉ=ëíêìÅíìêÉ=çÑ=~=ëã~ää=åÉáÖÜÄçêÜççÇ
![Page 24: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/24.jpg)
Subdivision for Modeling and AnimationOO
Some Conditions III
pìÄÇáîáëáçå=êìäÉë=ëÜçìäÇ■ ÄÉ=~ÑÑáåÉäó áåî~êá~åí
![Page 25: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/25.jpg)
Subdivision for Modeling and AnimationOP
Some Conditions IV
pìÄÇáîáëáçå=êìäÉë=ëÜçìäÇ■ ÄÉ=ëáãéäÉ
■ çåäó=~=ëã~ää=ëÉí=çÑ=ÇáÑÑÉêÉåí=ëíÉåÅáäë
■ éêÉÑÉê~Ääó=éêÉÅçãéìíÉÇ çÑÑäáåÉ
■ ~ÅÜáÉîÉ=ëçãÉ=çêÇÉê=çÑ=ëãççíÜåÉëë
■ `N É~ëóI=`OãìÅÜ=Ü~êÇÉê
■ éÉêÜ~éë=ïÉ=êÉ~ääó=ï~åí=Ñ~áêåÉëëKKK
![Page 26: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/26.jpg)
Subdivision for Modeling and AnimationOQ
Some Questions
fë=pìÄÇáîáëáçå=ãçÇÉäáåÖ=áåÜÉêÉåíäó=éçäóÖçå~ä\■ klK=qÜÉ=ëìêÑ~ÅÉ=Åçåëáëíë=çÑ=é~íÅÜÉëI=ïÉ=àìëí=ÄìáäÇ=íÜÉã=éêçÅÉÇìê~ääó
■ ~ää=êÉåÇÉêáåÖ=áë=éçäóÖçå~äÁ
■ ^kaW=åç=ãçêÉ=ïçêêáÉë=~Äçìí=Åçåíáåìáíó=ÅçåÇáíáçåë>
![Page 27: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/27.jpg)
Subdivision for Modeling and AnimationOR
Some Questions
pìÄÇáîáëáçå=é~íÅÜÉë■ Çç=íÜÉó=Ü~îÉ=~=é~ê~ãÉíÉêáò~íáçå\
■ ~êÉ=íÜÉó=É~ëó=íç=Éî~äì~íÉ\
■ ~êÉ=íÜÉó=É~ëó=íç=áãéäÉãÉåí\
■ ~êÉ=íÜÉó=ÉÑÑáÅáÉåí\
^ää=çÑ=íÜÉ=~ÄçîÉ=~åÇ=äçíë=ãçêÉ>■ ãìäíáêÉëçäìíáçåI=ÅçãéêÉëëáçåI=ÉíÅK
![Page 28: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/28.jpg)
3
Subdivision Surfaces• Coarse Mesh & Subdivision Rule
– Define smooth surface as limit of sequence ofalgorithmic refinements
• Modify topology & interpolate neighboring vertices
![Page 29: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/29.jpg)
4
Solids and Solid Modeling
• Solid modeling introduces amathematical theory of solid shape– Domain of objects– Set of operations on the domain of objects– Representation that is
• Unambiguous• Accurate• Unique• Compact• Efficient
![Page 30: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/30.jpg)
5
Solid Objects and Operations
• Solids are point sets– Boundary and interior
• Point sets can be operated on withboolean algebra (union, intersect, etc)
Foley/VanDam, 1990/1994
![Page 31: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/31.jpg)
6
Solid Object Definitions
• Boundary points– Points where distance to the object and the
object’s complement is zero• Interior points
– All the other points in the object• Closure
– Union of interior points and boundarypoints
![Page 32: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/32.jpg)
7
Issues with 3D Set Operations
• Ops on 3D objects can create “non-3D objects”or objects with non-uniform dimensions
• Objects need to be “Regularized”– Take the closure of the interior
Foley/VanDam, 1990/1994
Input set Closure Interior Regularized
![Page 33: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/33.jpg)
8
Regularized BooleanOperations
• 3D Example– Two solids A and B– Intersection leaves a
“dangling wall”• A 2D portion hanging
off a 3D object
– Closure of interiorgives a uniform 3Dresult
Pics/Math courtesy of Dave Mount @ UMD-CP
![Page 34: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/34.jpg)
9
Boolean Operations
• Other Examples:• (c) ordinary
intersection• (d) regularized
intersection– AB - objects on the
same side– CD - objects on
different sides
Foley/VanDam, 1990/1994
![Page 35: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/35.jpg)
10
Boolean Operations
Foley/VanDam, 1990/1994
![Page 36: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/36.jpg)
11
Constructive Solid Geometry(CSG)
• A tree structurecombining primitivesvia regularizedboolean operations
• Primitives can besolids or half spaces
![Page 37: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/37.jpg)
12
A Sequence of BooleanOperations
• Boolean operations• Rigid transformations
Pics/Math courtesy of Dave Mount @ UMD-CP
![Page 38: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/38.jpg)
13
The Induced CSG Tree
Pics/Math courtesy of Dave Mount @ UMD-CP
![Page 39: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/39.jpg)
17
The Induced CSG Tree
• Can also be represented as a directed acyclic graph (DAG)
Pics/Math courtesy of Dave Mount @ UMD-CP
![Page 40: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/40.jpg)
15
Issues withConstructive Solid Geometry
• Non-uniqueness• Choice of primitives• How to handle more complex modeling?
– Sculpted surfaces? Deformable objects?
![Page 41: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/41.jpg)
16
Issues withConstructive Solid Geometry
• Non-Uniqueness– There is more than
one way to modelthe same artifact
– Hard to tell if A and Bare identical
![Page 42: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/42.jpg)
17
Issues with CSG
• Minor changesin primitiveobjects greatlyaffect outcomes
• Shift up top solidface
Foley/VanDam, 1990/1994
![Page 43: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/43.jpg)
18
Uses of CSGConstructive Solid Geometry
• Found (basically) inevery CAD system
• Elegant,conceptually andalgorithmicallyappealing
• Good for– Rendering, ray
tracing, simulation– BRL CAD
![Page 44: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/44.jpg)
19
CAD: Feature-Based Design
• CSG is the basicmachinery behind CADfeatures
• Features are– Local modifications to
object geom/topo withengineering significance
– Often are additive orsubtractive mods to shape
• Hole, pocket, etc…
![Page 45: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/45.jpg)
20
Parametric Modeling in CAD
Foley/VanDam, 1990/1994
• Feature relationships• Constraints
![Page 46: 3D Modeling: Subdivision Surfaces & Solid Modelingdavid/Classes/CS430/Lectures/L... · 3D Modeling: Subdivision Surfaces & Solid Modeling Week 8, Lecture 15 ... Subdivision for Modeling](https://reader034.vdocuments.us/reader034/viewer/2022051921/600f034f23039e08c74889d9/html5/thumbnails/46.jpg)
44
Programming Assignment 5
• Extend XPM to 60 different RGB colors• Read 3 models and assign each a color• Implement Z-buffer rendering• Implement front & back cutting planes
– Only render parts of models between planes• Implement linear depth-cueing
– Color = base_color∗(z-far)/(near-far)• Re-use and extend 2D polygon filling