Design grammars

See also grammatical inference, syntax.

In computer graphics these are also called “procedural design” (that being slightly more general), or L-systems.

Prusinkiewicz and Lindenmayer (the L in “L-systems” ) had success describing plants and seashells and other CGI-friendly lifeforms as grammars. Lerdahl and Jackendoff applied these ideas to music. Look around for applications to primatology, genetic programming, gene expression, dynamical systems, Barnsley et al and their fractal image compression…

Design grammars are just ordinary grammars (possibly probabilistic ones, but nevertheless…). Unlike classical the usual linguistic use of the word grammar”, though, the emphasis here is not simply on parsing sentences to see if they are valid or not, but rather using grammars to synthesise entirely new sentences/flowers/trees/dungeons.

I should mention that I am interested in this for artistic/creative reasons rather than purely analytic ones, but there are probably uses in both domains.

Where do design grammars come from? One common term is “inverse procedural modeling” which is a design analogue of grammatical inference.


Genetic Programming. 2000. Vol. 1802. Springer Berlin / Heidelberg.
Grefenstette, Edward, Karl Moritz Hermann, Mustafa Suleyman, and Phil Blunsom. 2015. Learning to Transduce with Unbounded Memory.” arXiv:1506.02516 [Cs], June.
Lindenmayer, Aristid. 1968a. Mathematical Models for Cellular Interactions in Development I. Filaments with One-Sided Inputs.” Journal of Theoretical Biology 18 (3): 280–99.
———. 1968b. Mathematical Models for Cellular Interactions in Development II. Simple and Branching Filaments with Two-Sided Inputs.” Journal of Theoretical Biology 18 (3): 300–315.
McCormack, Jon. 2004. Aesthetic Evolution of L-Systems Revisited.” Applications of Evolutionary Computing, Lecture Notes in Computer Science,.
Meyer, Franz Sales. 1900. Handbook of ornament; a grammar of art, industrial and architectural designing in all its branches, for practical as well as theoretical use. New York, B. Hessling.
Prusinkiewicz, Przemyslaw. 1986. “Score Generation with L-Systems.” In Proceedings of the 1986 International Computer Music Conference, 455–57.
———. 2004. Self-Similarity in Plants: Integrating Mathematical and Biological Perspectives.” In, 103–18. World Scientific Publishing Co. Pte. Ltd.
Prusinkiewicz, Przemyslaw, and M Hammel. 1994. Language-Restricted Iterated Function Systems, Koch Constructions, and L-Systems.” In New Directions for Fractal Modeling in Computer Graphics, 4–1. SIGGRAPH Course Notes. ACM Press.
Prusinkiewicz, Przemyslaw, and Aristid Lindenmayer. 1991. The Algorithmic Beauty of Plants. The Virtual Laboratory. Springer.
Ritchie, Daniel, Anna Thomas, Pat Hanrahan, and Noah Goodman. 2016. Neurally-Guided Procedural Models: Amortized Inference for Procedural Graphics Programs Using Neural Networks.” In Advances in Neural Information Processing Systems 29, edited by D. D. Lee, M. Sugiyama, U. V. Luxburg, I. Guyon, and R. Garnett, 622–30. Curran Associates, Inc.
Smith, Alvy Ray. 1984. Plants, Fractals, and Formal Languages.” In SIGGRAPH Comput. Graph., 18:1–10. ACM.
Stiny, George, and James Gips. 1971. “Shape Grammars and the Generative Specification of Painting and Sculpture.” In IFIP Congress (2), 2:125–35.
Stiny, G, and W J Mitchell. 1978. The Palladian Grammar.” Environment and Planning B: Planning and Design 5 (1): 5–18.
Talton, Jerry O, Yu Lou, Steve Lesser, Jared Duke, Radomír Měch, and Vladlen Koltun. 2011. Metropolis Procedural Modeling.” ACM Transactions on Graphics 30: 11-1-11-14.
Vidal, Enrique. 1994. Grammatical Inference: An Introductory Survey.” In Grammatical Inference and Applications, edited by Rafael Carrasco and Jose Oncina, 862:1–4. Lecture Notes in Computer Science. Springer Berlin / Heidelberg.
Yeh, Ryan Y., Ken K. Nischal, Philip LeDuc, and Jonathan Cagan. 2020. Written in Blood: Applying Shape Grammars to Retinal Vasculatures.” Translational Vision Science & Technology 9 (9): 36.

No comments yet. Why not leave one?

GitHub-flavored Markdown & a sane subset of HTML is supported.