Grammars of SL Block Construction

Year: 2020 Authors: Shen-Guan Shih

Core claim

SL block constructions can be formalized with grammars and syntax-directed translation to support generation, analysis, and artistic transformation of semi-interlocking forms.

Topics

context-free grammars, self-interlocking structures, syntax-directed translation, form finding

Domains

formal language theory, grammar rewriting, combinatorics, generative art, architectural geometry, design computation, constructive sculpture

Methods

context-free grammar design, string rewrite rules, syntax-directed translation, derivation examples

Media

SL blocks, octocubes, strand strings, diagrams

Paper text

The text below is the locally extracted OCR/Markdown version of the paper. Raw PDF files remain local and are not published here.

Bridges 2020 Conference Proceedings

Grammars of SL Block Construction

Shen-Guan Shih

National Taiwan University of Science and Technology; sgshih@mail.ntust.edu.tw

Abstract

An block is an octocube that can be used to build semi-interlocking structures called strands. The study uses context-free grammars to define languages of strands. Several grammars are devised to display the relation between string rewrite rules and block constructions. It is expected that with syntactic operations based on grammars, computer modeling tools can be developed to assist artistic creations by enabling transformations and form finding between high level abstractions and low level constructions.

SL block, conjugate pair, and strand

An block is a kind of octocube that can be used to build semi-interlocking structures, for which most blocks are locked topologically while allowing some parts being held by friction and left with just one direction of translational freedom [1][2]. A semi-interlocked structure may retain stability under forces from various directions, and yet allows at least one feasible sequence for assembling and disassembling. Two blocks arranged into 180 degree axis rotational symmetry are called a conjugate pair, as shown in Figure 1(b). Conjugate pairs of blocks can be sequentially concatenated to build a kind of linear structure called strand. Six types of concatenations are denoted , , , , , and , with each of which the concatenated strand can be appended onto a specific direction and position. The strands may form enclosed loops if both ends meet at the same location. All looping strands are semi-interlocking.

img-0.jpeg (a) an SL block

img-1.jpeg (b) a conjugate pair

img-2.jpeg (c) six types of concatenations Figure 1: SL block, conjugate pair, and concatenations

Grammars with rewrite rules on strands

The strands can be represented as strings consisting of six letters that stand for the six ways of concatenations. A grammar consists of an initial non-terminal and a set of rewrite rules, which are used to transform the initial non-terminal into strings consisting of only terminals, which are and . In this paper, all non-terminals in grammar definitions are written as bold capital letters. The letter represents empty concatenation that ends the assembly when the strand is not looped. The grammar defines all possible strands with no prevention on self-collision. Figure 2 shows 8 strands of with same length generated by random selections of rewrite rules. Colliding blocks are shown in red in the images.

Shih

img-3.jpeg Figure 2: 8 strands from , with red blocks showing self-collision

The grammar defines looping strands that make elongated cubes of variable lengths. The language consists of palindromes with separating zero or even numbers of consecutive ‘s on both sides and ends with an . The simplest form in the language is a cube, denoted as the string .

img-4.jpeg Figure 3: 3 strands of with various lengths

The grammar extends by allowing the looping strands to make turns. Figure 4 shows the derivations of the strand ahahahhaahahahha.

img-5.jpeg Figure 4: The derivations of the strand ahahahhaahahahha from

The grammar generates strands with folded closed strands that might be regarded as “pseudo-branching”, as shown in Figure 5.

img-6.jpeg Figure 5: Three strands from

Grammars of SL Block Construction

A grammatical approach for form creation

Grammars can be used as high level abstraction of strand construction. In Figure 5, the grammar is used to create helical strands with various heights. The grammar is adapted from by inserting the second rule of with linkages to join the inserting strand created by the non-terminal . The grammar creates helical trunks with straight extrusions from four directions, as shown in the second row of Figure 5. The grammar uses rules in to allow changes of direction for branches. The grammar incorporates rules in to add extrusions to branches.

img-7.jpeg Figure 6: Grammars for tree-like structures

Guiding derivations with syntax-directed translations

High level control on grammatical derivations can be helpful for artistic creation when some geometric patterns are preferred for form finding. The expressive power of context-free grammars is limited. For example, it is not possible to define non-trivial grammars that always generate rectangular forms with equal lengths for both pairs of opposite sides. Semantic checking with attribute grammars might be one way to bypass the limitation. In this study, syntax-directed translation is considered a means to go beyond the limitation. Figure 7 shows two translations that map strands derived by to strands defined by and . The grammar is the input grammar used to derive the parse tree that guides the derivations of and to create square forms. Strands generated by always have equal lengths on both sides of the folding structure. The grammar uses two non-terminals and to map the two sides of the input strand with identical derivations, which guide non-terminals and of and to generate four symmetrical sides for the square forms. The bottom row of Figure 7 shows a translation defined by inserting rules in to

Shih

replace some rules in for input grammar, and inserting rules in to replace some corresponding rules in as the output grammar.

Input

Outputs

Input

Output

img-8.jpeg Figure 7: Examples of syntax-directed translations

Discussion

A straight forward mapping from strings to the construction of strands makes string grammars applicable for formalizing the representation, construction and analysis of strand constructions. With grammatical approaches, it might be possible to define high level operations and analysis that enable the design and assessment of very complicated constructions that are made of very simple and primitive elements such as blocks. It might not be possible to prevent spatial conflict in the rewrite rules of grammars, but it would be possible to incorporate collision detection in the generative process to prevent collisions. Future study may be directed towards the interactions between generative processes of grammars and the contextual environment of block construction.

References

[1] S. G. Shih, “On the Hierarchical Construction of SL Blocks – A Generative System That Builds Self-interlocking Structures.” Sigrid Adriaenssens, F. Gramazio, M. Kohler, A. Menges, and M. Pauly Eds. Advances in Architectural Geometry 2016, Pages124-137, Hochschulverlag AG an der ETH Zürich, DOI 10.3218/3778-4, ISBN 978-3-7281-3778-4 [2] S. G. Shih, “The art and mathematics of self-interlocking SL blocks”, Bridges 2018 Conference Proceedings, 107-114, 2018. http://archive.bridgesmathart.org/2018/bridges2018-107.pdf

0 items under this folder.