Generaciò procedural d'edificis
-
Upload
roger-hernando-buch -
Category
Software
-
view
56 -
download
0
Transcript of Generaciò procedural d'edificis
![Page 1: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/1.jpg)
Creacio procedural d’edificisDefensa
Roger Hernando
19 de juny de 2013
![Page 2: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/2.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Index1 Generacio Procedural
DefinicioAvantatgesGrans entorns
2 ObjectiuDefinicio objectiu
3 GramaticaLlenguatge
4 ImplementacioParser i GeneradorParserGeneradorVisualitzador
5 ExemplesPetronaTempleCastle
Roger Hernando Creacio procedural d’edificis
![Page 3: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/3.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Definicio
Definicio
Son algorismes que es basen en:Generacio de contingut automatitzada.Abstraccio de caracterıstiques del que es vol generar.Algorismes configurables(parametres).
Roger Hernando Creacio procedural d’edificis
![Page 4: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/4.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Avantatges
Avantatges
Gran flexibilitat.Proces de creacio de contingut mes agil.Ajut als dissenyadors.Reduccio dels costos de desenvolupament.Reduccio dels costos mediambientals
Roger Hernando Creacio procedural d’edificis
![Page 5: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/5.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Grans entorns
Creacio de grans entorns
Gran quantitat de models.Cohesio entre models.Generacio d’entorns urbans:
EdificisCarrers
Roger Hernando Creacio procedural d’edificis
![Page 6: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/6.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Definicio objectiu
Objectiu
Sistema procedural de generacio d’edificis basat en l’us degramatiques.
Parser.GeneradorVisualitzador.
Roger Hernando Creacio procedural d’edificis
![Page 7: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/7.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Definicio objectiu
Planificacio
Roger Hernando Creacio procedural d’edificis
![Page 8: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/8.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Llenguatge
El Llenguatge(1)
Especifica gramatiques CGA(Wonka & Muller)Considera formes com a variables.Regles de produccio de diferents tipus.Prioritats entre regles.Regles amb probabilitat.
Roger Hernando Creacio procedural d’edificis
![Page 9: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/9.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Llenguatge
El Llenguatge(2)
/*Definicio de variables*/VARS:type 1//Definicio de prioritatPRIORITY 1:1 lot --> Subdiv(Z, z_dim*rand(0.3, 0.5), 1r) {fac| side}2 side
--> Subdiv(X, x_dim*rand(0.2, 0.6), 1r){side|}:0.5--> Subdiv(X, 1r, x_dim*rand(0.2, 0.6)){|side}:0.5
3 side--> S(x_dim, y_dim, z_dim*rand(0.4, 1)) fac : 0.5--> S(x_dim, y_dim*rand(0.2, 0.9), z_dim*rand(0.4, 1))
fac : 0.3--> : 0.2
4 fac : (type == 1) --> I("cube")5 fac : (type == 2) --> I("cylinder")
Roger Hernando Creacio procedural d’edificis
![Page 10: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/10.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Llenguatge
Regles
idregla Spredecessor : Caplic → Ssuccesor : p
Classificacio segons Ssuccesor .Regles de substitucio.Regles de separacioRegles de repeticio.Regles de separacio de components.
Roger Hernando Creacio procedural d’edificis
![Page 11: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/11.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Llenguatge
Regles de substitucio
1 A --> [T(0,0,6)S(8,10,18)I("cube")] B2 B --> T(6,0,0)S(7,13,18)I("cube") C3 C --> T(0,0,16)S(8,15,8)I("cylinder")
Roger Hernando Creacio procedural d’edificis
![Page 12: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/12.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Llenguatge
Regles de separacio
1 A --> Subdiv(X, x_dim*rand(0.2, 0.6), 1r, 2r){B||C}2 B --> I("cube")3 C --> I("pyramid.ply")
Roger Hernando Creacio procedural d’edificis
![Page 13: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/13.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Llenguatge
Regles de repeticio
1 A --> Repeat(XYZ, 3, 3, 3){B}2 B --> I("monkey.ply")
Roger Hernando Creacio procedural d’edificis
![Page 14: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/14.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Llenguatge
Regles de separacio de components
1 A --> Comp(edges){B}2 B : (x_dim > 0)--> S(x_dim, 1, 1) I("cube")3 B : (y_dim > 0)--> S(1, y_dim, 1) I("cube")4 B : (z_dim > 0)--> S(1, 1, z_dim) I("cube")
Roger Hernando Creacio procedural d’edificis
![Page 15: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/15.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Sistemes implementats
Parser i GeneradorVisualitzador
Roger Hernando Creacio procedural d’edificis
![Page 16: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/16.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Parser i Generador
Sistema ParseGen
Implementat com una aplicacio Java independent.
$ ./bin/ParseGen -helpusage: ParseGen [options] file-ast <file> write the AST-dotpdf dump the AST in dot and pdf format-gen <x_dim y_dim z_dim> generate and define initial size-help print this message-model <file> write generated model to a file
Roger Hernando Creacio procedural d’edificis
![Page 17: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/17.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Parser
Parser
PROGRAM
GLOB_VARS LIST_PREFERENCES
LIST_RULES
1 2 3
A EXPR SUCCESSOR_LIST
SUCCESSOR
SCOPE_RULE PROB
SCOPE_RULE B
TRANSLATE SCALE MESH
0 0 6 8 10 18 "cube"
B EXPR SUCCESSOR_LIST
SUCCESSOR
SCOPE_RULE PROB
TRANSLATE SCALE MESH C
6 0 0 7 13 18 "cube"
C EXPR SUCCESSOR_LIST
SUCCESSOR
SCOPE_RULE PROB
TRANSLATE SCALE MESH
0 0 16 8 15 8 "cylinder"
Roger Hernando Creacio procedural d’edificis
![Page 18: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/18.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Generador
Generador
A → conjunt de sımbols actius.1 Seleccio de la regla mes prioritaria.2 Aplicacio de la regla.3 Si queden sımbols no-terminals
repetir el pas 1.
Roger Hernando Creacio procedural d’edificis
![Page 19: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/19.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Visualitzador
Visualitzador
Roger Hernando Creacio procedural d’edificis
![Page 20: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/20.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Petrona
Torres Petronas
Roger Hernando Creacio procedural d’edificis
![Page 21: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/21.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Petrona
Torres Petronas
PRIORITY 1:1 A --> Subdiv(Y, 15r, 6r, 4r, 3r, 2r, 1r, 2r)
{floor|floor2|floor3|floor4|floor5|floor6|peak}2 floor2 --> S(x_dim*0.8, y_dim, z_dim*0.8)T(x_dim*0.1, 0, z_dim*0.1) floor3 floor3 --> S(x_dim*0.6, y_dim, z_dim*0.6)T(x_dim*0.2, 0, z_dim*0.2) floor4 floor4 --> S(x_dim*0.4, y_dim, z_dim*0.4)T(x_dim*0.3, 0, z_dim*0.3) floor5 floor5 --> S(x_dim*0.2, y_dim, z_dim*0.2)T(x_dim*0.4, 0, z_dim*0.4) floor6 floor6 --> S(x_dim*0.1, y_dim, z_dim*0.1)T(x_dim*0.45, 0, z_dim*0.45) floor7 peak --> S(x_dim*0.05, y_dim, z_dim*0.05)
T(x_dim*(1-0.05)/2, 0, z_dim*(1-0.05)/2) I("cube")8 floor --> I("cube") rot_body Comp(sidefaces){face}9 rot_body --> T(-x_dim/4, 0, z_dim/2) Ry(45) I("cube")10 face --> Subdiv(Z, 1r, 1r, 1r, 1r, 1r){|cols||cols|}11 cols --> T(-z_dim/2,0,0) S(z_dim, y_dim, z_dim) I("cylinder")
Roger Hernando Creacio procedural d’edificis
![Page 22: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/22.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Petrona
Torres Petronas
Roger Hernando Creacio procedural d’edificis
![Page 23: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/23.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Petrona
Torres Petronas
PRIORITY 1:1 A --> Subdiv(Y, 15r, 6r, 4r, 3r, 2r, 1r, 2r)
{floor|floor2|floor3|floor4|floor5|floor6|peak}
Roger Hernando Creacio procedural d’edificis
![Page 24: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/24.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Petrona
Torres Petronas
Roger Hernando Creacio procedural d’edificis
![Page 25: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/25.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Petrona
Torres Petronas
2 floor2 --> S(x_dim*0.8, y_dim, z_dim*0.8)T(x_dim*0.1, 0, z_dim*0.1) floor3 floor3 --> S(x_dim*0.6, y_dim, z_dim*0.6)T(x_dim*0.2, 0, z_dim*0.2) floor4 floor4 --> S(x_dim*0.4, y_dim, z_dim*0.4)T(x_dim*0.3, 0, z_dim*0.3) floor5 floor5 --> S(x_dim*0.2, y_dim, z_dim*0.2)T(x_dim*0.4, 0, z_dim*0.4) floor6 floor6 --> S(x_dim*0.1, y_dim, z_dim*0.1)T(x_dim*0.45, 0, z_dim*0.45) floor7 peak --> S(x_dim*0.05, y_dim, z_dim*0.05)
T(x_dim*(1-0.05)/2, 0, z_dim*(1-0.05)/2) I("cube")
Roger Hernando Creacio procedural d’edificis
![Page 26: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/26.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Petrona
Torres Petronas
Roger Hernando Creacio procedural d’edificis
![Page 27: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/27.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Petrona
Torres Petronas
8 floor --> I("cube") rot_body Comp(sidefaces){face}9 rot_body --> T(-x_dim/4, 0, z_dim/2) Ry(45) I("cube")10 face --> Subdiv(Z, 1r, 1r, 1r, 1r, 1r){|cols||cols|}
Roger Hernando Creacio procedural d’edificis
![Page 28: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/28.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Petrona
Torres Petronas
Roger Hernando Creacio procedural d’edificis
![Page 29: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/29.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Petrona
Torres Petronas
11 cols --> T(-z_dim/2,0,0) S(z_dim, y_dim, z_dim) I("cylinder")
Roger Hernando Creacio procedural d’edificis
![Page 30: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/30.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Petrona
Torres Petronas
Roger Hernando Creacio procedural d’edificis
![Page 31: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/31.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Temple
Temple
Roger Hernando Creacio procedural d’edificis
![Page 32: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/32.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Castle
Castle
Roger Hernando Creacio procedural d’edificis
![Page 33: Generaciò procedural d'edificis](https://reader030.fdocumento.com/reader030/viewer/2022021507/58e7e85c1a28abbc0b8b5165/html5/thumbnails/33.jpg)
Generacio Procedural Objectiu Gramatica Implementacio Exemples
Castle
Fi
Preguntes?
Roger Hernando Creacio procedural d’edificis