Download presentation
Presentation is loading. Please wait.
1
Procedural Modeling of Buildings
Pascal Muller ETH Zurich Peter Wonka Arizona State University Simon Haegler Andreas Ulmer Virtual Entertainment Productions Luc Van Gool ETH Zurich / K.U.Leuven
2
Abstract ◇ CGA Shape은 Computer Graphics Architecture ◇ 높은 Quality와 디테일을 가지고 빌딩을 만듦 ◇ 싼값에 큰 건축 모델을 만들어 줌 ◇ context sensitive shape 법칙은 형상들 사이의 상호작용을 명시화 ◇ CGA shape은 폼페이를 고고학적으로 재건
3
1. Introduction ◇ 강력한 모델의 생성은 영화와 게임 발전에 영향을 줌 ◇ 도시와 같은 큰 3차원 환경 모델링은 비싼 처리 임 ◇ 본 논문에서는 도시를 디테일하게 표현하는 CGA shape를 제안 ◇ 빌딩의 경우, 초기 볼륨모델을 생성하고 외관을 구조화며, 문과 창문 장식의 디테일을 계층적 구조로 저장
4
그림1. 절차적 모델의 새로운 형상 문법 CGA를 이용한 어플리케이션
1. Introduction 그림1. 절차적 모델의 새로운 형상 문법 CGA를 이용한 어플리케이션 ◇ CGA는 context sensitive shape rule을 기반으로 함 ◇ 정확한 표기법 ◇ 빌딩 절차적 모델링의 context에서의 상세함
5
1.1 Related Work ◇ 본 논문의 생산 시스템의 밑그림이 된 순차적 모델링 - Semi-Thue process, Chomsky grammars 등등 ◇ 식물의 기하학적 모델링, L-Systems, LOGO-style turtle ◇ 형상 문법은 본래 선과 점의 배열 형식임 그림 2. 왼쪽 : 현재의 Procedural architecture는 개별적인 볼륨에서 그리며, 미세하게 split rule을 사용하기 때문에 원하지 않는 창문 교차가 일어남 오른쪽 : 이 예제는 단지 6개의 rule을 가지고 교차 없이 건물을 만듦
6
1.2 Overview 1. Introduction 2. Shape grammar 3. 복잡한 형상 구성, 형상 Interaction 4, 5, 6. 모델링 문제에 대한 예제 7. 큰 도시 환경에 대한 확장 8. 장, 단점
7
2. A Shape Grammar for CGA 그림3. 왼쪽 : 형상의 Scope, P점과 X, Y, Z축, S는 형상을 포함하는 박스 오른쪽 : 3개의 형상 도형으로 구성된 간단한 빌딩 메스 모델 ◇ Shape - non-terminal과 terminal 형상이 있음 - 점 P, 벡터 X, Y, Z 좌표축, Size 벡터 S로 구성됨 - 문법은 형상을 배치하는 작업을 함
8
2. A Shape Grammar for CGA ◇ Production process - 형상 A의 배치를 가지고 시작할 때, (1) 그 집합에서 symbol B를 가지고 active 형상을 선택하라 (2) B에 대해 successor를 계산하기 위한 production rule을 선택하라. 그 집합은 BNEW임 (3) 형상 B를 inactive로 표시하고, 배치를 위해 형상 BNEW를 추가하라 - 스텝 (1)을 계속 하고 만약 배치가 더 이상 non-terminal을 포함하고 있지 않다면, production process를 끝내라
9
2. A Shape Grammar for CGA ◇ Notation - Production rule의 표기법 - id : rule 번호 - predecessor : successor로 배치된 non-terminal 형상 - cond : 참이면 이 rule을 적용함
10
2. A Shape Grammar for CGA ◇ Scope rules - Scope Position P, Translation : T(tx, ty, tz) - Rotation : Rx(angle), Ry(angle), Rz(angle) - Scope Size : S(Sx, Sy, Sz) - OjectId : I(“ObjId”)
11
◇ Basic split rule - basic split rule은 현재 scope를 하나의 축으로 쪼갬
2. A Shape Grammar for CGA ◇ Basic split rule - basic split rule은 현재 scope를 하나의 축으로 쪼갬 그림 4. 왼쪽 : 기본 정면 디자인 오른쪽 : 3층에 대한 간단한 split
12
2. A Shape Grammar for CGA ◇ Scaling of rule - 이전 페이지의 y = 만약 다른 Scope의 경우라면, 크기가 조절이 됨 - 그냥 값은 절대값이며, 문자 r이 붙으면 상대값으로 표현
13
◇ Repeat - split rule에서 명시된 요소로 타일화 함
2. A Shape Grammar for CGA ◇ Repeat - split rule에서 명시된 요소로 타일화 함 - floor의 X축을 따라 B가 repetitions 만큼 타일화 됨 - repetitions = [Scope.sx/2]
14
◇ Component split - Comp 명령어는 더 낮은 차원의 형상으로 쪼갬
2. A Shape Grammar for CGA ◇ Component split - Comp 명령어는 더 낮은 차원의 형상으로 쪼갬 - Comp(“faces”){A}는 3차원 형상의 각 면을 Symbol A로 형상을 생성 - Comp(“edges”){B}, Comp(“vertices”){C}은 각각 edges, vertices로 쪼갬 - Comp(“edge”, 3){A}는 세 번째 edge로 정렬된 것을 형상 A로 생성
15
3. Mass Modeling ◇ 이전 섹션에서는 복잡한 형상을 표현하는 문법에 대해 설명 ◇ Mass Model을 만드는 방법 ◇ façade와 지붕의 디테일을 만드는 방법 ◇ Mass Model로 부터 façade 와 지붕으로의 변화를 푸는 기술
16
그림 5. Mass Model에 대한 기본 형상 vocabulary
3.1 Assembling Solids 그림 5. Mass Model에 대한 기본 형상 vocabulary 그림 7. 지붕타입 : gambrel, cone, gabled hipped.. 그림 6. 왼쪽 : 타워의 Mess Model, 가운데 : footprint, 오른쪽 : The same façade rule has been applied onto the different types of solids ◇ 주어진 빌딩 부지에 Translation, Rotation, Scaling, Split 연산을 이용하여 Mass Model을 만듦 ◇ CGA shape문법을 이용하여 Petronas Tower를 만들지만 위쪽의 뾰족한 부분은 그림 7과 같은 지붕형상을 이용해야 함
17
그림 8. Volumetric 형상의 결합으로 복잡한 폴리곤이 생성됨
3.1 Assembling Solids ◇ Problem of complex surfaces 그림 8. Volumetric 형상의 결합으로 복잡한 폴리곤이 생성됨 - Visible surface 폴리곤을 계산하는 것은 사소한 일이 아님 - façade grammar에 대한 non-terminal symbol을 할당하는 간단한 메커니즘이 없음 - 위 문제의 해결책은 Mass Model을 배치하는 동안 절차적으로 모델링을 하여 단순함을 유지하는 것임
18
3.1 Assembling Solids ◇ Modeling strategy
- 먼저, 3차원 형상을 위치시키기 위해 3차원 scope를 사용함 - façade, roof surface를 3차원에서 추출하여 2차원 scope를 만듦 - 같은 방법으로 edge를 2차원에서 1차원 scope로 추출함 - 일치하는 디자인에 대한 솔루션은 두 개의 메커니즘이 있음 (1) 공간적인 겹침을 테스트함 (Occlusion) (2) 형상 배치에서 근처의 중요한 선과 면을 테스트함 (Snap lines)
19
3.2 Occlusion ◇ Occlusion조회는 형상들 사이의 겹침을 테스트함 ◇ no occlusion(“none”), partial occlusion(“part”), full occlusion(“full”) (1) 유도 트리로 저장한 것들을 사용할 수 있음 (2) 명시된 라벨을 가지고 형상의 부분 집합에 대한 조회 ex) Shape.occ(“balcony”) (3) 가장 중요한 부분의 하나는 유도 트리에서 현재 형상 predecessor를 제외하고 모든 형상을 포함함
20
3.2 Occlusion 6: tile : Shape.occ(“noparent”) == “none” window
7: tile : Shape.occ(“noparent”) == “part” wall 8: tile : Shape.occ(“noparent”) == “full” ε
21
3.3 Snapping 왼쪽은 형상이 겹쳐있으며, 오른쪽은 그것을 정렬 함
22
3.3 Snapping ◇ Subdivision split: 1: floor Subdiv(“X”,1r,1r,1r,1r,1r){ B | B | B | B | B } ◇ Repeat split: 1: floor Repeat(“X”,0.2r){ B }
23
3.3 Snapping ◇ Subdivision split: 1: floor Subdiv(“XS”,1r,1r,1r,1r,1r){ B | B | B | B | B } ◇ Repeat split: 1: floor Repeat(“XS”,0.2r){ B }
24
4. A Simple Building Model
25
5. A Model for Office Building
26
5. A Model for Office Building
27
6. A Model for Single Family Homes
◇ Nice Interplay 1) 토지의 모서리를 나누고 펜스근처에 나무를 배치 2) front, back yard와 집을 나눔 3) 길을 만들고 거리에 규칙적으로 나무를 배치 4) 차고문과 연결된 차도를 만들고 입구와 연결된 보도를 만듦
28
7. Results ◇ CityEngine framework를 통합함 - Text Editor for rules
◇ 유저 인터페이스 - Text Editor for rules - GIS Viewer - Interactive editing ◇ 크고 자세한 모델을 만들 수 있음 ◇ 그림 1 왼쪽과 같은 5만 폴리곤의 계산이 1초 정도 소요됨
29
7. Results ◇ 도시 모델링을 계산하기 위해 190개의 룰을 사용
◇ 도시의 결과는 High LOD 14억 폴리곤, Middle LOD 3,100,000 폴리곤, Low LOD 170,000 폴리곤
30
7. Results
31
8. Conclusion ◇ 큰 스케일의 도시모델을 얻기 위한 빌딩의 절차적 모델링에 대한 새로운 형상 문법인 CGA shape을 소개 ◇ 지붕의 디자인을 포함하는 빌딩 볼륨메트릭 메스 모델링 부분이 주목 할 만 함 ◇ 본 논문은 학계와 산업계에서 만들어진 어떤 도시 모델보다 더 기하학적으로 자세하고 큰 도시 모델을 생성
Similar presentations