31
Procedural Modeling of Buildings Pascal Muller ETH Zurich Peter Wonka Arizona State University Simon Haegler ETH Zurich Andreas Ulmer Virtual Entertainment Productions Luc Van Gool ETH Zurich / K.U.Leuven

Procedural Modeling of Buildings

  • Upload
    eliza

  • View
    71

  • Download
    0

Embed Size (px)

DESCRIPTION

Procedural Modeling of Buildings. Pascal Muller ETH Zurich Peter Wonka Arizona State University Simon Haegler ETH Zurich Andreas Ulmer Virtual Entertainment Productions Luc Van Gool ETH Zurich / K.U.Leuven. Abstract. - PowerPoint PPT Presentation

Citation preview

Page 1: Procedural Modeling of Buildings

Procedural Modeling of Buildings Procedural Modeling of Buildings Pascal Muller

ETH Zurich

Peter WonkaArizona State University

Simon HaeglerETH Zurich

Andreas UlmerVirtual Entertainment Productions

Luc Van GoolETH Zurich / K.U.Leuven

Page 2: Procedural Modeling of Buildings

AbstractAbstract

◇ CGA Shape 은 Computer Graphics Architecture

◇ 높은 Quality 와 디테일을 가지고 빌딩을 만듦

◇ 싼값에 큰 건축 모델을 만들어 줌

◇ context sensitive shape 법칙은 형상들 사이의 상호작용을 명시화

◇ CGA shape 은 폼페이를 고고학적으로 재건

Page 3: Procedural Modeling of Buildings

1. Introduction1. Introduction

◇ 강력한 모델의 생성은 영화와 게임 발전에 영향을 줌

◇ 도시와 같은 큰 3 차원 환경 모델링은 비싼 처리 임

◇ 본 논문에서는 도시를 디테일하게 표현하는 CGA shape 를 제안

◇ 빌딩의 경우 , 초기 볼륨모델을 생성하고 외관을 구조화며 , 문과 창문 장식의 디테일을 계층적 구조로 저장

Page 4: Procedural Modeling of Buildings

1. Introduction1. Introduction

그림 1. 절차적 모델의 새로운 형상 문법 CGA 를 이용한 어플리케이션

◇ CGA 는 context sensitive shape rule 을 기반으로 함

◇ 정확한 표기법

◇ 빌딩 절차적 모델링의 context 에서의 상세함

Page 5: Procedural Modeling of Buildings

◇ 본 논문의 생산 시스템의 밑그림이 된 순차적 모델링- Semi-Thue process, Chomsky grammars 등등

◇ 식물의 기하학적 모델링 , L-Systems, LOGO-style turtle

◇ 형상 문법은 본래 선과 점의 배열 형식임

1.1 Related Work1.1 Related Work

그림 2. 왼쪽 : 현재의 Procedural architecture 는 개별적인 볼륨에서 그리며 , 미세하게 split rule 을 사용하기 때문에 원하지 않는 창문 교차가 일어남

오른쪽 : 이 예제는 단지 6 개의 rule 을 가지고 교차 없이 건물을 만듦

Page 6: Procedural Modeling of Buildings

1.2 Overview1.2 Overview

1. Introduction

2. Shape grammar

3. 복잡한 형상 구성 , 형상 Interaction

4, 5, 6. 모델링 문제에 대한 예제

7. 큰 도시 환경에 대한 확장

8. 장 , 단점

Page 7: Procedural Modeling of Buildings

2. A Shape Grammar for CGA2. A Shape Grammar for CGA

그림 3. 왼쪽 : 형상의 Scope, P 점과 X, Y, Z 축 , S 는 형상을 포함하는 박스 오른쪽 : 3 개의 형상 도형으로 구성된 간단한 빌딩 메스 모델

◇ Shape

- non-terminal 과 terminal 형상이 있음

- 점 P, 벡터 X, Y, Z 좌표축 , Size 벡터 S 로 구성됨

- 문법은 형상을 배치하는 작업을 함

Page 8: Procedural Modeling of Buildings

◇ Production process

- 형상 A 의 배치를 가지고 시작할 때 ,

(1) 그 집합에서 symbol B 를 가지고 active 형상을 선택하라

(2) B 에 대해 successor 를 계산하기 위한 production rule 을

선택하라 . 그 집합은 BNEW 임

(3) 형상 B 를 inactive 로 표시하고 , 배치를 위해 형상 BNEW 를 추가하라

- 스텝 (1) 을 계속 하고 만약 배치가 더 이상 non-terminal을

포함하고 있지 않다면 , production process 를 끝내라

2. A Shape Grammar for CGA2. A Shape Grammar for CGA

Page 9: Procedural Modeling of Buildings

◇ Notation

- Production rule 의 표기법

- id : rule 번호

- predecessor : successor 로 배치된 non-terminal 형상

- cond : 참이면 이 rule 을 적용함

2. A Shape Grammar for CGA2. A Shape Grammar for CGA

Page 10: Procedural Modeling of Buildings

◇ 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”)

2. A Shape Grammar for CGA2. A Shape Grammar for CGA

Page 11: Procedural Modeling of Buildings

◇ Basic split rule

- basic split rule 은 현재 scope 를 하나의 축으로 쪼갬

2. A Shape Grammar for CGA2. A Shape Grammar for CGA

그림 4. 왼쪽 : 기본 정면 디자인 오른쪽 : 3 층에 대한 간단한 split

Page 12: Procedural Modeling of Buildings

◇ Scaling of rule

- 이전 페이지의 y = 12.8

- 만약 다른 Scope 의 경우라면 , 크기가 조절이 됨

- 그냥 값은 절대값이며 , 문자 r 이 붙으면 상대값으로 표현

2. A Shape Grammar for CGA2. A Shape Grammar for CGA

Page 13: Procedural Modeling of Buildings

◇ Repeat

- split rule 에서 명시된 요소로 타일화 함

2. A Shape Grammar for CGA2. A Shape Grammar for CGA

- floor 의 X 축을 따라 B 가 repetitions 만큼 타일화 됨

- repetitions = [Scope.sx/2]

Page 14: Procedural Modeling of Buildings

◇ Component split

- Comp 명령어는 더 낮은 차원의 형상으로 쪼갬

2. A Shape Grammar for CGA2. A Shape Grammar for CGA

- Comp(“faces”){A} 는 3 차원 형상의 각 면을 Symbol A 로 형상을 생성

- Comp(“edges”){B}, Comp(“vertices”){C} 은 각각 edges, vertices 로 쪼갬

- Comp(“edge”, 3){A} 는 세 번째 edge 로 정렬된 것을 형상 A 로 생성

Page 15: Procedural Modeling of Buildings

3. Mass Modeling3. Mass Modeling

◇ 이전 섹션에서는 복잡한 형상을 표현하는 문법에 대해 설명

◇ Mass Model 을 만드는 방법

◇ façade 와 지붕의 디테일을 만드는 방법

◇ Mass Model 로 부터 façade 와 지붕으로의 변화를 푸는 기술

Page 16: Procedural Modeling of Buildings

3.1 Assembling Solids3.1 Assembling Solids

그림 5. Mass Model 에 대한 기본 형상 vocabulary

그림 6. 왼쪽 : 타워의 Mess Model, 가운데 : footprint, 오른쪽 : The same façade rule has been applied onto the different types of solids

그림 7. 지붕타입 : gambrel, cone, gabled hipped..

◇ 주어진 빌딩 부지에 Translation, Rotation, Scaling, Split 연산을 이용하여 Mass Model 을 만듦

◇ CGA shape 문법을 이용하여 Petronas Tower 를 만들지만 위쪽의 뾰족한 부분은 그림 7 과 같은 지붕형상을 이용해야 함

Page 17: Procedural Modeling of Buildings

3.1 Assembling Solids3.1 Assembling Solids

그림 8. Volumetric 형상의 결합으로 복잡한 폴리곤이 생성됨

◇ Problem of complex surfaces

- Visible surface 폴리곤을 계산하는 것은 사소한 일이 아님

- façade grammar 에 대한 non-terminal symbol 을 할당하는 간단한 메커니즘이 없음

- 위 문제의 해결책은 Mass Model 을 배치하는 동안 절차적으로 모델링을 하여 단순함을 유지하는 것임

Page 18: Procedural Modeling of Buildings

3.1 Assembling Solids3.1 Assembling Solids

◇ Modeling strategy

- 먼저 , 3 차원 형상을 위치시키기 위해 3 차원 scope 를 사용함

- façade, roof surface 를 3 차원에서 추출하여 2 차원 scope 를 만듦

- 같은 방법으로 edge 를 2 차원에서 1 차원 scope 로 추출함

- 일치하는 디자인에 대한 솔루션은 두 개의 메커니즘이 있음 (1) 공간적인 겹침을 테스트함 (Occlusion) (2) 형상 배치에서 근처의 중요한 선과 면을 테스트함 (Snap lines)

Page 19: Procedural Modeling of Buildings

3.2 Occlusion3.2 Occlusion

◇ Occlusion 조회는 형상들 사이의 겹침을 테스트함

◇ no occlusion(“none”), partial occlusion(“part”), full occlusion(“full”)

(1) 유도 트리로 저장한 것들을 사용할 수 있음

(2) 명시된 라벨을 가지고 형상의 부분 집합에 대한 조회 ex) Shape.occ(“balcony”)

(3) 가장 중요한 부분의 하나는 유도 트리에서 현재 형상 predecessor 를 제외하고 모든 형상을 포함함

Page 20: Procedural Modeling of Buildings

3.2 Occlusion3.2 Occlusion

6: tile : Shape.occ(“ noparent”) == “ none” window7: tile : Shape.occ(“ noparent”) == “ part” wall8: tile : Shape.occ(“ noparent”) == “ full” ε

Page 21: Procedural Modeling of Buildings

3.3 Snapping3.3 Snapping

왼쪽은 형상이 겹쳐있으며 , 오른쪽은 그것을 정렬 함

Page 22: Procedural Modeling of Buildings

3.3 Snapping3.3 Snapping

◇ Repeat split:1: floor Repeat(“X”,0.2r){ B }

◇ Subdivision split:1: floor Subdiv(“X”,1r,1r,1r,1r,1r){ B | B | B | B | B }

Page 23: Procedural Modeling of Buildings

3.3 Snapping3.3 Snapping

◇ Repeat split:1: floor Repeat(“XS”,0.2r){ B }

◇ Subdivision split:1: floor Subdiv(“XS”,1r,1r,1r,1r,1r){ B | B | B | B | B }

Page 24: Procedural Modeling of Buildings

4. A Simple Building Model

4. A Simple Building Model

Page 25: Procedural Modeling of Buildings

5. A Model for Office Building

5. A Model for Office Building

Page 26: Procedural Modeling of Buildings

5. A Model for Office Building

5. A Model for Office Building

Page 27: Procedural Modeling of Buildings

6. A Model for Single Family Homes

6. A Model for Single Family Homes

◇ Nice Interplay

1) 토지의 모서리를 나누고 펜스근처에 나무를 배치

2) front, back yard 와 집을 나눔

3) 길을 만들고 거리에 규칙적으로 나무를 배치

4) 차고문과 연결된 차도를 만들고 입구와 연결된 보도를 만듦

Page 28: Procedural Modeling of Buildings

7. Results7. Results

◇ 유저 인터페이스

- Text Editor for rules

- GIS Viewer

- Interactive editing

◇ CityEngine framework 를 통합함

◇ 크고 자세한 모델을 만들 수 있음

◇ 그림 1 왼쪽과 같은 5 만 폴리곤의 계산이 1 초 정도 소요됨

Page 29: Procedural Modeling of Buildings

7. Results7. Results

◇ 도시 모델링을 계산하기 위해 190 개의 룰을 사용

◇ 도시의 결과는 High LOD 14 억 폴리곤 , Middle LOD 3,100,000 폴리곤 , Low LOD 170,000 폴리곤

Page 30: Procedural Modeling of Buildings

7. Results7. Results

Page 31: Procedural Modeling of Buildings

8. Conclusion8. Conclusion

◇ 큰 스케일의 도시모델을 얻기 위한 빌딩의 절차적 모델링에 대한 새로운 형상 문법인 CGA shape 을 소개

◇ 지붕의 디자인을 포함하는 빌딩 볼륨메트릭 메스 모델링 부분이

주목 할 만 함

◇ 본 논문은 학계와 산업계에서 만들어진 어떤 도시 모델보다 더 기하학적으로 자세하고 큰 도시 모델을 생성