SlideShare a Scribd company logo
1 of 40
Download to read offline
Subdivision Theory 
By Brian Sharp (GAMASUTRA) 
이재윤
Geri’s Game 
•Pixar, Siggraph98 
•예술적+ 기술력입증 
•Subdivision Surfaces 적용 
•토이스토리2의기술적발판제공 
•http://www.youtube.com/watch?v=9IYRC7g2ICg
Subdivision Surfaces 
•Polygonal Model 을이용하여surface 를표현하는방식 
•목표: 폴리곤Polygon의직관성+ 넙스NURBS의부드러움 
•(Poly. Model처럼)삼각형/ 사각형폴리곤모두사용가능 
•(Poly. Model과다르게) 완벽하게부드러운표면표현가능 
•Coarse / deltailedlevel 자유롭게접근가능
In this… 
•Entirely theory! 
•시리즈물로Implementation 도.. 
•거창한제목과달리모든기본이되는이론을다루진않음 
•우리에게유용하지못할수도.. 
•But, 다양한모델의강점과약점을아는것은우리가다음게임을만들때올바른결정을할수있게도와줌
The What and the why 
•What? 
•Surface generated through subdivision. 
•Control net 이라고부르는original polygonal surface 에서시작 
•Surface 는추가되는polygon에서세분화됨 
•모든vertices 는정해진룰에따라이동 
•이동방식은scheme 마다다르고, 이방식이surface 의property 를결정
Topology 
•Control net 과eventual surface(앞으로limit surface)의topology 는동일 
•Topology? 
•Surface 의구조를묘사하는방법중하나 
•Stretching 이나twisting 에의해변하지않음 
•Ex : 도넛과(손잡이가달린) 머그잔의Topology는동일 
http://en.wikipedia.org/wiki/Topology#mediaviewer/File:Mug_and_Torus_morph.gif
Topology , Subdivision surfaces 
•B-spline 이나Besizer패치로뭔가복잡한surface 들을모델링하는것은쉽지않거나불가능할수도있음. 
•게다가이걸애니메이션하는것은continuity 를유지하기어렵고, 잘못하면patch 간seam 에서creases 와기타artifacts 발생가능 
•Subdivision surfaces 는임의의mesh(closed면더좋음)에대해생성이가능–임의의topology 로구성되어질수있음 
•Mesh 에서하나의surface 를만들어내기때문에continuity 이슈나seam부위를걱정할필요없이control net 을애니메이션시킬수있음
The basics 
•Continuity 
•Interpolate / Approximate 
•Uniform / Non-uniform 
•Stationary / Non-stationary 
•Subdivision shape 
•Extraordinary vertices
The basics : Continuity 
•CnContinuity : 얼마나많은미분에서연속인가를표현 
•C0: 연속인미분이없음. 
•C1: 1차미분에서연속. Surface는닫혀있음. Tangent 가연속 
•Sharp 한seam 이존재하지않음 
•사실대부분의scheme 은C1 continuity 를가지고있음 
•C2: 2차미분에서연속. 특정위치에서C2cont. 를가질수있으나, 대부분C1cont. 를주특성으로가짐 
•Subdivision surfaces 기술을사용할때가장먼저고려하는속성이continuity
The basics : Continuity 
•CnContinuity : 얼마나많은미분에서연속인가를표현 
•C0: 연속인미분이없음. 
•C1: 1차미분에서연속. Surface는닫혀있음. Tangent 가연속 
•Sharp 한seam 이존재하지않음 
•사실대부분의scheme 은C1 continuity 를가지고있음 
•C2: 2차미분에서연속. 특정위치에서C2cont. 를가질수있으나, 대부분C1cont. 를주특성으로가짐 
•Subdivision surfaces 기술을사용할때가장먼저고려하는속성이continuity
The basics : Continuity 
•CnContinuity : 얼마나많은미분에서연속인가를표현 
•C0: 연속인미분이없음. 
•C1: 1차미분에서연속. Surface는닫혀있음. Tangent 가연속 
•Sharp 한seam 이존재하지않음 
•사실대부분의scheme 은C1 continuity 를가지고있음 
•C2: 2차미분에서연속. 특정위치에서C2cont. 를가질수있으나, 대부분C1cont. 를주특성으로가짐 
•Subdivision surfaces 기술을사용할때가장먼저고려하는속성이continuity
The basics : Continuity 
•Subdivision surfaces 가Continuity를유지할수있기때문에 
•모델을얼마나많은폴리곤으로만들었냐에상관없이, 
•카메라가얼마나모델가까이다가가느냐에상관없이, 
•Display resolution 이얼마나높은지에상관없이 
이상적인limit surface 를얻을수있다.
The basics : To interpolate or not… 
Interpolate 
Approximate 
Controlpoint 위치 
Limit surface 위에존재 
Limit surface 외부에존재 
Controlpoint 이동 
이동안함 
limit surfaces에가까워짐 
Smoothness 
비교적유지 
Undulation, ripple 이적어짐 
->의도한효과도적어짐 
결과물예측 
최종limit surface추측쉬움 
최종limit surface추측어려움
The basics : Uniform, Stationary 
•Uniform : 모든Control point 가동일한규칙으로subdivided 
•Non-uniform : edge 마다필요에따라다른규칙사용가능 
•Stationary : 모든step 에서동일한규칙으로subdivided 
•Non-stationary : step 마다필요에따라다른규칙사용가능 
•Non-uniform 이나non-stationary 한scheme은별로없다. 
•수학과관련한툴에서rule set 을동적으로바꾸기어려움
The basics : Subdivision shape 
•Triangular or Quadrilateral 
•Quadrilateral : 대부분n-sided 에대한subdivide rule을가지고있음 
•Triangular : 일단전부삼각형으로쪼갠후subdivide 시작 
•쪼개는건쉽지만, 쪼개는방법에따라최종결과물도달라질수있음
The basics : Extraordinary vertices 
•Vertex Valance : vertex 별연결된edge 의수 
•Subdivision scheme 별우선되는Vertex valance 도중요 
•Extraordinary vertex는(valance, 구조에따라)주변의limit surface의생성에영향을줌 
•대부분의scheme 들은Extraordinary vertex를고려하지않음 
•처음부터존재하던EV 가최종결과물에까지변하지않고남아있음
The basics : Surface evaluation 
•Limit surface 의더나은polygonal approximation을찾기위해 
Control net 을이동시키고, 
Vertices 를추가하고, 
Faces 를더많이, 작게쪼개는 
일련의작업프로세스
The basics : Surface evaluation 
•모든scheme 은recursive 하게evaluation 
•또한, 대부분의scheme 은명시적으로control point에서evaluation 
•Interpolating schemes 의경우vertex 에서tangent mask 를이용해명시적으로surface normal 을구할수있다는것을의미 
•Approximating scheme 의경우Evaluation mask 를이용해명시적으로vertex 의limit position 을구할수있다는것을의미 
•마스크는스텐실과유사한형태이며, 주변의얼마나많은vertex 가최종결과(위치, 탄젠트벡터)에영향을끼치는지를표시
1. The Polyhedral Scheme
The Polyhedral Scheme 
•가장간단한subdivision scheme 
•Triangular, interpolating, uniform, stationary 
•Edge 의중간점에새로운vertices 추가후이를edge 로연결하여하나의삼각형을네개로세분화 
•단점: smooth surface 생성불가 
•Control net 의형태를절대변경하지않음 
•C0continuity 
•Valance : 6
The Polyhedral Scheme 
•Point 가이미limit surfaces 위에있기때문에evaluation mask 가필요없음 
•Surface가smooth 하지않기때문에tangent mask 는의미없음
2. The Butterfly Subdivision Scheme
Butterfly subdivision scheme 
•Polyhedral scheme 과유사, but C1continuity 
•“A Butterfly Subdivision Scheme for Surface Interpolation with Tension Control”, 1990, Dyn, Levin and Gregory 
•Evaluation mask 가나비모양 
•Interpolating, Triangular 
•W : tension parameter
Butterfly subdivision scheme 
•만약, vertices 구조가butterfly 가아니면(N less than 5)? 
•그주변에선w = -1/16을사용하는것외에별다른방법이없음 
•이런영역주변에선smooth 하지않은형태가발생 
•아티스트를빡치게함
2.2. Modified Butterfly Scheme
Modified Butterfly Scheme 
•1993, Dynand his colleagues 
•기본골자는Original 과유사 
•Regular valence of vertices -6 
•모든위치에서C1 continuity 성립 
•8-point stencil 에서10-point stencil로확장 
•추가한d 의weight 만큼a 에서차감 
•총weight 는여전히1
Modified Butterfly Scheme 
•Extraordinary vertex 도care 해줌 
•Edge 의양쪽다Extraordinary vertex 일경우 
•각end point 에대해계산후평균값사용
3. Catmull-clarkSubdivision Surfaces
Catmull-Clark surfaces 
•Quadrilateral and approximating 
•Regular vertices : valence 4 
•(일반적인quadrilateral surface는rectangular grid임)
Catmull-Clark surfaces 
•Vertex Addition (3 steps) 
1.네개의control point 의평균값으로구한중앙에FacePoints추가 
a 
b 
c 
d 
e 
f 
g 
h
Catmull-Clark surfaces 
•Vertex Addition (3 steps) 
1.네개의control point 의평균값으로구한중앙에FacePoints추가 
2.각old edge 마다, 양end vertices 와마주하는두FacePoints의평균값으로구한중앙에edge points 추가 
a 
b 
c 
d 
e 
f 
g 
h 
i
Catmull-Clark surfaces 
•Vertex Addition (3 steps) 
1.네개의control point 의평균값으로구한중앙에FacePoints추가 
2.각old edge 마다, 양end vertices 와마주하는두FacePoints의평균값으로구한중앙에edge points 추가 
a 
b 
c 
d 
e 
f 
g 
h 
i 
j 
l 
k
Catmull-Clark surfaces 
•Vertex Addition (3 steps) 
2.각old edge 마다, 양end vertices 와마주하는두FacePoints의평균값으로구한중앙에edge points 추가 
3.Old vertices 들을주어진식에따라이동후모든vertices 들을새로운edge 로연결
Catmull-Clark surfaces 
•특이사항1.-Quadrilateral 이아닌곳에서의subdivision 
•새로생긴face vertex 는k( !=4 ) 개의새로운edge vertices 와연결 
-> extraordinary vertices 가subdivision 중에발생 
•그래도보이는것만큼나쁘진않음. 
•특이사항2. 
•Single step 후모든control net 의faces 는quadrilateral 이됨 
-> 첫step에서한번만extraordinary vertex 가추가됨
Catmull-Clark surfaces
Catmull-Clark surfaces 
•Evaluation mask 
•For vertex of valence N 
•Tangent mask 
•Surface normal : cross product of t0and t1 
* 첫subdivision 에선e, f 사용불가
Catmull-Clark surfaces 
•몇step 을진행한Catmull-clarksubdivision surfaces
3.2. Catmull-clarkExtended
Catmull-Clark Extended 
•픽사에서Geri’s game 에적용하면서original 을필요에맞게수정 
•Subdivision 시특정조건에따라sharp 와semi-sharp crease 가유지 
•아티스트가모델링시명시적으로edge 나vertex 에지정가능 
•Geri 의피부(주로손가락등)의주름을표현하기위해적용 
•옵션의추가에따라, scheme 의속성도달라짐 
•Non-uniform, non-stationary 
•이런속성의변화때문에In game 에선사용하기어려움
다음발표는(아마도..) 
•Implementing Subdivision Surface Theory 
•동일인물의다른아티클in GAMASUTRA 
•혹은, 또다른subdivision scheme에대한소개 
•Loop subdivision, Doo-sabinsubdivision 등

More Related Content

Similar to Subdivision theory

visible surface detection in 3D objects for viewing
visible surface detection in 3D objects for viewingvisible surface detection in 3D objects for viewing
visible surface detection in 3D objects for viewingsrinivasan779644
 
Exploring Simple Siamese Representation Learning
Exploring Simple Siamese Representation LearningExploring Simple Siamese Representation Learning
Exploring Simple Siamese Representation LearningSungchul Kim
 
Mediump support in Mesa (XDC 2019)
Mediump support in Mesa (XDC 2019)Mediump support in Mesa (XDC 2019)
Mediump support in Mesa (XDC 2019)Igalia
 
Photogrammetry for Games
Photogrammetry for GamesPhotogrammetry for Games
Photogrammetry for Gamestravytravy
 
Playing Go with Clojure
Playing Go with ClojurePlaying Go with Clojure
Playing Go with Clojureztellman
 
Heuristic Search Techniques {Artificial Intelligence}
Heuristic Search Techniques {Artificial Intelligence}Heuristic Search Techniques {Artificial Intelligence}
Heuristic Search Techniques {Artificial Intelligence}FellowBuddy.com
 
The jig and fixture design procedure
The jig and fixture design procedureThe jig and fixture design procedure
The jig and fixture design procedureAmruta Rane
 

Similar to Subdivision theory (10)

visible surface detection in 3D objects for viewing
visible surface detection in 3D objects for viewingvisible surface detection in 3D objects for viewing
visible surface detection in 3D objects for viewing
 
Exploring Simple Siamese Representation Learning
Exploring Simple Siamese Representation LearningExploring Simple Siamese Representation Learning
Exploring Simple Siamese Representation Learning
 
Mediump support in Mesa (XDC 2019)
Mediump support in Mesa (XDC 2019)Mediump support in Mesa (XDC 2019)
Mediump support in Mesa (XDC 2019)
 
Shading in OpenGL
Shading in OpenGLShading in OpenGL
Shading in OpenGL
 
Photogrammetry for Games
Photogrammetry for GamesPhotogrammetry for Games
Photogrammetry for Games
 
Playing Go with Clojure
Playing Go with ClojurePlaying Go with Clojure
Playing Go with Clojure
 
Projection Matrices
Projection MatricesProjection Matrices
Projection Matrices
 
Heuristic Search Techniques {Artificial Intelligence}
Heuristic Search Techniques {Artificial Intelligence}Heuristic Search Techniques {Artificial Intelligence}
Heuristic Search Techniques {Artificial Intelligence}
 
Assembly of Parts
Assembly of PartsAssembly of Parts
Assembly of Parts
 
The jig and fixture design procedure
The jig and fixture design procedureThe jig and fixture design procedure
The jig and fixture design procedure
 

Recently uploaded

Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 

Recently uploaded (20)

Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 

Subdivision theory

  • 1. Subdivision Theory By Brian Sharp (GAMASUTRA) 이재윤
  • 2. Geri’s Game •Pixar, Siggraph98 •예술적+ 기술력입증 •Subdivision Surfaces 적용 •토이스토리2의기술적발판제공 •http://www.youtube.com/watch?v=9IYRC7g2ICg
  • 3. Subdivision Surfaces •Polygonal Model 을이용하여surface 를표현하는방식 •목표: 폴리곤Polygon의직관성+ 넙스NURBS의부드러움 •(Poly. Model처럼)삼각형/ 사각형폴리곤모두사용가능 •(Poly. Model과다르게) 완벽하게부드러운표면표현가능 •Coarse / deltailedlevel 자유롭게접근가능
  • 4. In this… •Entirely theory! •시리즈물로Implementation 도.. •거창한제목과달리모든기본이되는이론을다루진않음 •우리에게유용하지못할수도.. •But, 다양한모델의강점과약점을아는것은우리가다음게임을만들때올바른결정을할수있게도와줌
  • 5. The What and the why •What? •Surface generated through subdivision. •Control net 이라고부르는original polygonal surface 에서시작 •Surface 는추가되는polygon에서세분화됨 •모든vertices 는정해진룰에따라이동 •이동방식은scheme 마다다르고, 이방식이surface 의property 를결정
  • 6. Topology •Control net 과eventual surface(앞으로limit surface)의topology 는동일 •Topology? •Surface 의구조를묘사하는방법중하나 •Stretching 이나twisting 에의해변하지않음 •Ex : 도넛과(손잡이가달린) 머그잔의Topology는동일 http://en.wikipedia.org/wiki/Topology#mediaviewer/File:Mug_and_Torus_morph.gif
  • 7. Topology , Subdivision surfaces •B-spline 이나Besizer패치로뭔가복잡한surface 들을모델링하는것은쉽지않거나불가능할수도있음. •게다가이걸애니메이션하는것은continuity 를유지하기어렵고, 잘못하면patch 간seam 에서creases 와기타artifacts 발생가능 •Subdivision surfaces 는임의의mesh(closed면더좋음)에대해생성이가능–임의의topology 로구성되어질수있음 •Mesh 에서하나의surface 를만들어내기때문에continuity 이슈나seam부위를걱정할필요없이control net 을애니메이션시킬수있음
  • 8. The basics •Continuity •Interpolate / Approximate •Uniform / Non-uniform •Stationary / Non-stationary •Subdivision shape •Extraordinary vertices
  • 9. The basics : Continuity •CnContinuity : 얼마나많은미분에서연속인가를표현 •C0: 연속인미분이없음. •C1: 1차미분에서연속. Surface는닫혀있음. Tangent 가연속 •Sharp 한seam 이존재하지않음 •사실대부분의scheme 은C1 continuity 를가지고있음 •C2: 2차미분에서연속. 특정위치에서C2cont. 를가질수있으나, 대부분C1cont. 를주특성으로가짐 •Subdivision surfaces 기술을사용할때가장먼저고려하는속성이continuity
  • 10. The basics : Continuity •CnContinuity : 얼마나많은미분에서연속인가를표현 •C0: 연속인미분이없음. •C1: 1차미분에서연속. Surface는닫혀있음. Tangent 가연속 •Sharp 한seam 이존재하지않음 •사실대부분의scheme 은C1 continuity 를가지고있음 •C2: 2차미분에서연속. 특정위치에서C2cont. 를가질수있으나, 대부분C1cont. 를주특성으로가짐 •Subdivision surfaces 기술을사용할때가장먼저고려하는속성이continuity
  • 11. The basics : Continuity •CnContinuity : 얼마나많은미분에서연속인가를표현 •C0: 연속인미분이없음. •C1: 1차미분에서연속. Surface는닫혀있음. Tangent 가연속 •Sharp 한seam 이존재하지않음 •사실대부분의scheme 은C1 continuity 를가지고있음 •C2: 2차미분에서연속. 특정위치에서C2cont. 를가질수있으나, 대부분C1cont. 를주특성으로가짐 •Subdivision surfaces 기술을사용할때가장먼저고려하는속성이continuity
  • 12. The basics : Continuity •Subdivision surfaces 가Continuity를유지할수있기때문에 •모델을얼마나많은폴리곤으로만들었냐에상관없이, •카메라가얼마나모델가까이다가가느냐에상관없이, •Display resolution 이얼마나높은지에상관없이 이상적인limit surface 를얻을수있다.
  • 13. The basics : To interpolate or not… Interpolate Approximate Controlpoint 위치 Limit surface 위에존재 Limit surface 외부에존재 Controlpoint 이동 이동안함 limit surfaces에가까워짐 Smoothness 비교적유지 Undulation, ripple 이적어짐 ->의도한효과도적어짐 결과물예측 최종limit surface추측쉬움 최종limit surface추측어려움
  • 14. The basics : Uniform, Stationary •Uniform : 모든Control point 가동일한규칙으로subdivided •Non-uniform : edge 마다필요에따라다른규칙사용가능 •Stationary : 모든step 에서동일한규칙으로subdivided •Non-stationary : step 마다필요에따라다른규칙사용가능 •Non-uniform 이나non-stationary 한scheme은별로없다. •수학과관련한툴에서rule set 을동적으로바꾸기어려움
  • 15. The basics : Subdivision shape •Triangular or Quadrilateral •Quadrilateral : 대부분n-sided 에대한subdivide rule을가지고있음 •Triangular : 일단전부삼각형으로쪼갠후subdivide 시작 •쪼개는건쉽지만, 쪼개는방법에따라최종결과물도달라질수있음
  • 16. The basics : Extraordinary vertices •Vertex Valance : vertex 별연결된edge 의수 •Subdivision scheme 별우선되는Vertex valance 도중요 •Extraordinary vertex는(valance, 구조에따라)주변의limit surface의생성에영향을줌 •대부분의scheme 들은Extraordinary vertex를고려하지않음 •처음부터존재하던EV 가최종결과물에까지변하지않고남아있음
  • 17. The basics : Surface evaluation •Limit surface 의더나은polygonal approximation을찾기위해 Control net 을이동시키고, Vertices 를추가하고, Faces 를더많이, 작게쪼개는 일련의작업프로세스
  • 18. The basics : Surface evaluation •모든scheme 은recursive 하게evaluation •또한, 대부분의scheme 은명시적으로control point에서evaluation •Interpolating schemes 의경우vertex 에서tangent mask 를이용해명시적으로surface normal 을구할수있다는것을의미 •Approximating scheme 의경우Evaluation mask 를이용해명시적으로vertex 의limit position 을구할수있다는것을의미 •마스크는스텐실과유사한형태이며, 주변의얼마나많은vertex 가최종결과(위치, 탄젠트벡터)에영향을끼치는지를표시
  • 20. The Polyhedral Scheme •가장간단한subdivision scheme •Triangular, interpolating, uniform, stationary •Edge 의중간점에새로운vertices 추가후이를edge 로연결하여하나의삼각형을네개로세분화 •단점: smooth surface 생성불가 •Control net 의형태를절대변경하지않음 •C0continuity •Valance : 6
  • 21. The Polyhedral Scheme •Point 가이미limit surfaces 위에있기때문에evaluation mask 가필요없음 •Surface가smooth 하지않기때문에tangent mask 는의미없음
  • 22. 2. The Butterfly Subdivision Scheme
  • 23. Butterfly subdivision scheme •Polyhedral scheme 과유사, but C1continuity •“A Butterfly Subdivision Scheme for Surface Interpolation with Tension Control”, 1990, Dyn, Levin and Gregory •Evaluation mask 가나비모양 •Interpolating, Triangular •W : tension parameter
  • 24. Butterfly subdivision scheme •만약, vertices 구조가butterfly 가아니면(N less than 5)? •그주변에선w = -1/16을사용하는것외에별다른방법이없음 •이런영역주변에선smooth 하지않은형태가발생 •아티스트를빡치게함
  • 26. Modified Butterfly Scheme •1993, Dynand his colleagues •기본골자는Original 과유사 •Regular valence of vertices -6 •모든위치에서C1 continuity 성립 •8-point stencil 에서10-point stencil로확장 •추가한d 의weight 만큼a 에서차감 •총weight 는여전히1
  • 27. Modified Butterfly Scheme •Extraordinary vertex 도care 해줌 •Edge 의양쪽다Extraordinary vertex 일경우 •각end point 에대해계산후평균값사용
  • 29. Catmull-Clark surfaces •Quadrilateral and approximating •Regular vertices : valence 4 •(일반적인quadrilateral surface는rectangular grid임)
  • 30. Catmull-Clark surfaces •Vertex Addition (3 steps) 1.네개의control point 의평균값으로구한중앙에FacePoints추가 a b c d e f g h
  • 31. Catmull-Clark surfaces •Vertex Addition (3 steps) 1.네개의control point 의평균값으로구한중앙에FacePoints추가 2.각old edge 마다, 양end vertices 와마주하는두FacePoints의평균값으로구한중앙에edge points 추가 a b c d e f g h i
  • 32. Catmull-Clark surfaces •Vertex Addition (3 steps) 1.네개의control point 의평균값으로구한중앙에FacePoints추가 2.각old edge 마다, 양end vertices 와마주하는두FacePoints의평균값으로구한중앙에edge points 추가 a b c d e f g h i j l k
  • 33. Catmull-Clark surfaces •Vertex Addition (3 steps) 2.각old edge 마다, 양end vertices 와마주하는두FacePoints의평균값으로구한중앙에edge points 추가 3.Old vertices 들을주어진식에따라이동후모든vertices 들을새로운edge 로연결
  • 34. Catmull-Clark surfaces •특이사항1.-Quadrilateral 이아닌곳에서의subdivision •새로생긴face vertex 는k( !=4 ) 개의새로운edge vertices 와연결 -> extraordinary vertices 가subdivision 중에발생 •그래도보이는것만큼나쁘진않음. •특이사항2. •Single step 후모든control net 의faces 는quadrilateral 이됨 -> 첫step에서한번만extraordinary vertex 가추가됨
  • 36. Catmull-Clark surfaces •Evaluation mask •For vertex of valence N •Tangent mask •Surface normal : cross product of t0and t1 * 첫subdivision 에선e, f 사용불가
  • 37. Catmull-Clark surfaces •몇step 을진행한Catmull-clarksubdivision surfaces
  • 39. Catmull-Clark Extended •픽사에서Geri’s game 에적용하면서original 을필요에맞게수정 •Subdivision 시특정조건에따라sharp 와semi-sharp crease 가유지 •아티스트가모델링시명시적으로edge 나vertex 에지정가능 •Geri 의피부(주로손가락등)의주름을표현하기위해적용 •옵션의추가에따라, scheme 의속성도달라짐 •Non-uniform, non-stationary •이런속성의변화때문에In game 에선사용하기어려움
  • 40. 다음발표는(아마도..) •Implementing Subdivision Surface Theory •동일인물의다른아티클in GAMASUTRA •혹은, 또다른subdivision scheme에대한소개 •Loop subdivision, Doo-sabinsubdivision 등