Generalized Use of Non-Terminal Symbols for Procedural Modeling
Article first published online: 12 AUG 2010
© 2010 The Authors Computer Graphics Forum © 2010 The Eurographics Association and Blackwell Publishing Ltd.
Computer Graphics Forum
Volume 29, Issue 8, pages 2291–2303, December 2010
How to Cite
Krecklau, L., Pavic, D. and Kobbelt, L. (2010), Generalized Use of Non-Terminal Symbols for Procedural Modeling. Computer Graphics Forum, 29: 2291–2303. doi: 10.1111/j.1467-8659.2010.01714.x
- Issue published online: 10 NOV 2010
- Article first published online: 12 AUG 2010
- procedural modeling;
- formal grammars;
- I.3.6 [Computer Graphics]: Languages—I.3.5 [Computer Graphics]: Computational Geometry and Object Modeling—I.3.7 [Computer Graphics]: Three-Dimensional Graphics and Realism
We present the new procedural modeling language (Generalized Grammar), which adapts various concepts from general purpose programming languages to provide high descriptive power with well-defined semantics and a simple syntax which is easily readable even by non-programmers. The term ‘Generalized’ reflects two kinds of generalization. On the one hand, we extend the scope of previous architectural modeling languages by allowing for multiple types of non-terminal objects with domain-specific operators and attributes. On the other hand, the language accepts non-terminal symbols as parameters in modeling rules and thus enables the definition of abstract structure templates for flexible re-use within the grammar. By deriving from the well-established programming language Python, we can make sure that our modeling language has a well-defined semantics. For illustration, we apply to architectural as well as plant modeling to demonstrate its descriptive power with some complex examples.