procedural modelling of buildings - cuni.cz

1
RESEARCH POSTER PRESENTATION DESIGN © 2012 www.PosterPresentations.com In this bachelor thesis we focus on implementation of a standalone application for procedural modelling of buildings. We then test our implementation by modelling several buildings based on buildings in real life. Apart from our implementation, we provide a short overview of already existing methods. The thesis also includes programming and user documentation. Abstract In our work we use computer graphics to model simple or more complex building structures. For example, when creating a movie or a game we need to model many buildings or whole cities. Manual modelling on such scale would be inefficient, time consuming and it would require a considerable amount of human resources, time, computing power or money. Procedural modelling is needed to solve these types of problems. Procedural modelling can be used to model individual buildings [2]. These building models can be used as models in procedurally generated cities [3]. Introduction Our method is based on general procedural modelling system, introduced by Muller et al [1], which is based on formal grammar by Chomsky [4]. Production rule in our method consists from a left and a right side. The left side of the production rule contains information about a non-terminal which it applies to. The right side of the production rule contains operations. Our implementation allows user to use several operations. These can be categorized in three categories: scope changing functions, transformations and color/texture functions. Example Our method 1. “17. listopadu” dormitory Results Conclusion s & future work Our focus in our bachelor thesis was to implement a program for procedural modelling of buildings. We described the method we implemented together with functions available to the user. We also briefly described the theory behind procedural modelling of buildings together with some other implementations. Then we tested our implementation by modelling buildings based on real buildings. Further development of our program could include additional functions to either manipulate scope or change it, including simple roof generator, or allow us to generate non-rectangle pedestals for our buildings. Our existing functionality can also be improved, e.g. using relative paths in texture command. References 1. Pascal Muller, PeterWonka, Simon Haegler, Andreas Ulmer, and Luc van Gool. Procedural modeling of buildings. ACM Trans. Graph., 25:614–623, 2006. 2. Reichl, Pavel. Procedural modeling of buildings. Diploma thesis, Masarykova univerzita, 2013. 3. Parish Yoav I H, and Muller Pascal. Procedural modeling of cities. In Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques. Press, 2001. 4. Chomsky Noam. Syntactic Structures. The Hague: Mouton. 1957. Charles University in Prague, Faculty of Mathematics and Physics Department of Software and Computer Science Education Michal Rosa | Supervisor: Mgr. Jan Beneš Procedural modelling of buildings Our first model is based on the ”17. listopadu” dormitory. We use low detail and low resolution textures for this model to show a difference between model with low quality textures and model with high quality textures. Comparison of a model generated by our program with real building from a side angle. Please notice positioning of our model compared to real buildings, which is almost identical. Dormitory model opened in the meshlab program Photo of the front wall of block A 2. Prefab building on “Na Petřinách” street Our second result presents a fully textured model. This model is also based on a real building located in Prague 6. We use textures with higher resolution to provide better visual output of our model. Model of prefab building generated by our program Photo of the real building taken from right side Detailed view of entrance Detailed view of balcony The two pictures above are both taken from a model generated by our program. They provides us with two detailed views of our model, showing the extent of implemented functionality. There are differences in comparison with the original building, however our model is a good overall approximation of the original building. 3. “Na Větrníku” dormitory Our third example will display our model of “Větrník” dormitory. This model is also fully textured and combines various functionality. This model is our most complicated example. “Větrník” dormitory is a complex of three buildings - entrance hall and two blocks. However, our model consists of nine different objects. This was necessary due to the complicated ground plan of both blocks. Each block consists of four structures. These are positioned via transformations to form the final model, which looks like a solid model made out of one structure. Photo of dormitory Dormitory as modeled in our program Front view of block two in model Back view of block one Three results listed above show dormitory model loaded in the meshlab program. These pictures provide us with three different angles of our model. Firstly, a back view of block one and entrance hall, secondly, a front view of the entrance hall and thirdly, a side view of the entire dormitory complex. Simple application of the extrude function. We can perform either a pool extrude (left) or a box extrude (right) Simple application of the component split production rule. We have selected only front walls of each structure in this image. Split production rule on multiple structures with different component split production rule. Example of transformations. There are four transformations available: translation, scaling, rotation and orbital rotation. @StartRule Lot --> extrude(100, box) Main Main --> comp(f) { front: Front | other: Other } Front --> split(u) { ~1: Window | ~1: Other } Window --> texture(okno1.jpg) Other --> texture(okno2.jpg) Simple example, demonstrating available functions together with syntax used in our program. Available functions

Upload: others

Post on 24-Feb-2022

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Procedural modelling of buildings - cuni.cz

RESEARCH POSTER PRESENTATION DESIGN © 2012

www.PosterPresentations.com

In this bachelor thesis we focus on implementation of a standalone application for

procedural modelling of buildings. We then test our implementation by modelling

several buildings based on buildings in real life. Apart from our implementation, we

provide a short overview of already existing methods. The thesis also includes

programming and user documentation.

Abstract

In our work we use computer graphics to model simple or more complex building

structures. For example, when creating a movie or a game we need to model many

buildings or whole cities. Manual modelling on such scale would be inefficient, time

consuming and it would require a considerable amount of human resources, time,

computing power or money. Procedural modelling is needed to solve these types of

problems. Procedural modelling can be used to model individual buildings [2]. These

building models can be used as models in procedurally generated cities [3].

Introduction

Our method is based on general procedural modelling system, introduced by Muller

et al [1], which is based on formal grammar by Chomsky [4]. Production rule in our

method consists from a left and a right side. The left side of the production rule

contains information about a non-terminal which it applies to. The right side of the

production rule contains operations. Our implementation allows user to use several

operations. These can be categorized in three categories: scope changing functions,

transformations and color/texture functions.

Example

Our method

1. “17. listopadu” dormitory

Results

Conclusions & future workOur focus in our bachelor thesis was to implement a program for procedural

modelling of buildings. We described the method we implemented together with

functions available to the user. We also briefly described the theory behind

procedural modelling of buildings together with some other implementations. Then

we tested our implementation by modelling buildings based on real buildings.

Further development of our program could include additional functions to either

manipulate scope or change it, including simple roof generator, or allow us to

generate non-rectangle pedestals for our buildings. Our existing functionality can

also be improved, e.g. using relative paths in texture command.

References

1. Pascal Muller, PeterWonka, Simon Haegler, Andreas Ulmer, and Luc van Gool. Procedural modeling of

buildings. ACM Trans. Graph., 25:614–623, 2006.

2. Reichl, Pavel. Procedural modeling of buildings. Diploma thesis, Masarykova univerzita, 2013.

3. Parish Yoav I H, and Muller Pascal. Procedural modeling of cities. In Proceedings of the 28th Annual

Conference on Computer Graphics and Interactive Techniques. Press, 2001.

4. Chomsky Noam. Syntactic Structures. The Hague: Mouton. 1957.

Charles University in Prague, Faculty of Mathematics and PhysicsDepartment of Software and Computer Science Education

Michal Rosa | Supervisor: Mgr. Jan Beneš

Procedural modelling of buildings

Our first model is based on the ”17. listopadu” dormitory. We use low detail and low

resolution textures for this model to show a difference between model with low

quality textures and model with high quality textures.

Comparison of a model generated by our program with real building from a side

angle. Please notice positioning of our model compared to real buildings, which is

almost identical.

Dormitory model opened in the meshlab program Photo of the front wall of block A

2. Prefab building on “Na Petřinách” street

Our second result presents a fully textured model. This model is also based on a real

building located in Prague 6. We use textures with higher resolution to provide better

visual output of our model.

Model of prefab building generated by our program Photo of the real building taken from right side

Detailed view of entrance Detailed view of balcony

The two pictures above are both taken from a model generated by our program. They

provides us with two detailed views of our model, showing the extent of

implemented functionality. There are differences in comparison with the original

building, however our model is a good overall approximation of the original building.

3. “Na Větrníku” dormitory

Our third example will display our model of “Větrník” dormitory. This model is also

fully textured and combines various functionality. This model is our most complicated

example. “Větrník” dormitory is a complex of three buildings - entrance hall and two

blocks. However, our model consists of nine different objects. This was necessary due

to the complicated ground plan of both blocks. Each block consists of four structures.

These are positioned via transformations to form the final model, which looks like a

solid model made out of one structure.

Photo of dormitoryDormitory as modeled in our program

Front view of block two in model Back view of block one

Three results listed above show dormitory model loaded in the meshlab program.

These pictures provide us with three different angles of our model. Firstly, a back view

of block one and entrance hall, secondly, a front view of the entrance hall and thirdly,

a side view of the entire dormitory complex.Simple application of the extrude function.We can perform either a pool extrude (left)

or a box extrude (right)

Simple application of the component splitproduction rule. We have selected only

front walls of each structure in this image.

Split production rule on multiple structures with different component split production rule.

Example of transformations. There are four transformations available:

translation, scaling, rotation and orbital rotation.

@StartRuleLot --> extrude(100, box) MainMain --> comp(f) { front: Front | other: Other }Front --> split(u) { ~1: Window | ~1: Other }Window --> texture(okno1.jpg)Other --> texture(okno2.jpg)

Simple example, demonstrating

available functions together with

syntax used in our program.

Available functions