HW #3: Grammars

The goal of this assignment is to develop increased understanding of how generative grammars work, and to develop some experience in using them for expressive goals.

For this assignment, you are to pick a computer system that executes and visualizes grammars as some form of geometry (no generative grammars for text or dialog production for this assignment). Examples of such systems are:

  • Context Free Art - A system for creating 2D artwork using non-deterministic (stochastic) grammars
  • Structure Synth - A system for create 3D artwork using non-deterministic (stochastic) grammars

You might also consider using one of the systems described in a class reading.

For work submissions, please create a subdirectory with your name within the Google Drive folder for the third homework assignment.

1. Take an existing grammar and play around with it. Modify some productions, add some productions, tweak conditional probabilities, line distances, turn angles, etc. The core idea is to develop some first hand experience with the kinds of visual responses created by changes to elements of a grammar.

For Context Free Art there are many uploaded examples on the site. For Structure Synth, there are some examples in the documentation (and a tutorial).

Please turn in (a) the grammar, with modifications indicated in some way (italics, bold, etc.), and (b) a screenshot of some representative output of the grammar.

2. Using the same system, create a grammar from scratch to create an interesting visual output. Be creative. Ideally the grammar will be of non-trivial complexity.

Please turn in (a) the grammar (ideally with some comments on the role of various productions), and (b) add one or more screenshots of some representative output of the grammar to a Google Slide presentation shared by everyone in the class. Make sure your name is on the slide(s) you add.