Hostname: page-component-74656f9884-8rzl6 Total loading time: 0 Render date: 2026-11-06T06:08:46.064Z Has data issue: false hasContentIssue false

A whole-grammar implementation of shape grammars for designers

Published online by Cambridge University Press:  09 May 2018

Andrew I-kang Li*
Affiliation:
Kyoto Institute of Technology, Matsugasaki, Sakyo-ku, Kyoto 606-8585, Japan
*
Author for correspondence: Andrew I-kang Li, E-mail: andrewli@kit.ac.jp
Rights & Permissions [Opens in a new window]

Abstract

I present an implementation of shape grammars that is aimed at supporting designers. It has two parts: a grammar editor and a stand-alone interpreter. The editor is the modeling application Rhinoceros3d using Python scripts. The interpreter is general, is three-dimensional, and supports subshape detection. A grammar is a Rhinoceros3d model; thus users can manipulate all its parts directly and immediately. That is, they can modify any shape without selecting or invoking an editor, and they can lay out the parts of the grammar in any way they find meaningful. Using this approach, which I call a whole-grammar approach, users are shielded from most subdomain tasks, like typing text files or specifying transformations. Informal observations suggest that users of this implementation can work effectively.

Information

Type
Regular Articles
Copyright
Copyright © Cambridge University Press 2018 
Figure 0

Fig. 1. Chau's implementation. The current shape and the rule to be applied are graphically displayed in the center. On the right, from top to bottom: the list of initial shape names, the list of rule names, and the buttons for each step of rule application (enter two-point triples to specify a transformation t, query whether the rule is applicable under t, and, if so, apply the rule under t). (With the permission of Hau Hing CHAU.)

Figure 1

Fig. 2. The Sierpiński grammar in the interpreter. The large window on the right displays the initial shape (in plan view on the canvas on the upper left); the current shape, which at this point is the same as the initial shape (in an isometric view on the large canvas on the right); and the two rules in plan view (on the canvas below the initial shape). The narrow window on the left displays the two possible next shapes obtainable from the current shape.

Figure 2

Fig. 3. A grammar in Rhino. It consists of one initial shape (back left) and two rules (right, with arrows), and generates Sierpiński gaskets.

Figure 3

Fig. 4. The Sierpiński grammar and a derivation in Rhino. The grammar is on the lower left; the derivation is on the right and consists of the initial shape, the final shape, and four intermediate shapes.

Figure 4

Fig. 5. Hepplewhite-style chair back diagrams after Knight (1980) by a student, NAKABE Kazutaka. Above are the diagrams with straight lines as generated by the grammar; below are the diagrams with the straight lines replaced by curved lines. (With the permission of NAKABE Kazutaka.)