Generation of Celtic Key Patterns with Tree
Transcription
Generation of Celtic Key Patterns with Tree
Electronic Communications of the EASST Volume 26 (2010) Manipulation of Graphs, Algebras and Pictures Essays Dedicated to Hans-Jörg Kreowski on the Occasion of His 60th Birthday Generation of Celtic Key Patterns with Tree-based Collage Grammars Renate Klempien-Hinrichs, Caroline von Totth 16 pages Guest Editors: Frank Drewes, Annegret Habel, Berthold Hoffmann, Detlef Plump Managing Editors: Tiziana Margaria, Julia Padberg, Gabriele Taentzer ECEASST Home Page: http://www.easst.org/eceasst/ ISSN 1863-2122 ECEASST Generation of Celtic Key Patterns with Tree-based Collage Grammars Renate Klempien-Hinrichs1 , Caroline von Totth2∗ 1 [email protected] [email protected] Department of Computer Science University of Bremen, Germany 2 Abstract: Tree-based collage grammars are a syntactic device for modelling visual languages. Celtic art provides such languages, which follow precise rules of construction, for instance key patterns and knotwork. In this paper, we study the syntactic generation of Celtic key patterns using tree-based collage grammars. Moreover, the regulation mechanisms we employ to ensure that only consistent key patterns are generated are compared with the mechanisms used in a previous study for knotwork. Keywords: collage grammar, celtic key patterns, rule-based picture generation 1 Modelling with Collage Grammars Collage grammars are a device to generate sets of pictures in a syntactic manner [HK91, HKT93, DK99]. They were developed by equipping hyperedge replacement graph grammars with spatial information: nonterminals come with a location and an extension in some Euclidean space, and the role of terminals is played by collages, where a collage is a union of parts and a part is a set of points. Equivalently, collage grammars may be seen as a combination of a tree grammar and an algebra interpreting the generated trees as collages [Dre00, Dre06], so-called tree-based collage grammars. The initially proposed collage grammars were context-free. More powerful grammar types include the table-driven (or T0L) grammars, where nonterminals are replaced in parallel with rules from one of finitely many tables [KRS97] (for T0L collage grammars see [DKK03]). In the following, we will refer to all these types simply as collage grammars, regardless of their generative power. The behaviour of a table-driven tree grammar may be emulated by a regular tree grammar generating monadic trees as input for a top-down tree transducer; such a monadic tree basically states the sequence of the applied tables in the T0L grammar [Dre06, Lemma 2.5.7]. For any picture-generating mechanism, it is of particular interest to find out whether a certain class of pictures can be generated. For table-driven collage grammars, the case study in [DK00] (see also [Dre06, Sect. 3.5]) shows a way to produce Celtic knotwork. The idea is to identify a small pattern that is repeated in a tiling-like manner to form the whole design (see [Bai90, Slo95] for distinct ways to divide a design). ∗ The authors would like to acknowledge that their research is partially supported by the Collaborative Research Centre 637 (Autonomous Cooperating Logistic Processes – A Paradigm Shift and Its Limitations) funded by the German Research Foundation (DFG). 1 / 16 Volume 26 (2010) Generation of Celtic Key Patterns with Tree-based Collage Grammars Figure 1: Celtic designs: a knot (left) and a key pattern (right) In addition to knotwork, there are three other major design types in Celtic art: key patterns, spirals, and interlacings with animal or human forms (see [All93, Bai51] for overviews). Historically, the designs were drawn in medieval manuscripts, carved on standing stones, or forged in precious metalwork. In this paper, we present a case study modelling Celtic key patterns, sometimes also called maze patterns, by means of collage grammars. Where a Celtic knot consists of continuous cords that interweave, key patterns have continuous paths that follow straight lines, usually at 45◦ angles, and meet at crossings (see Figure 1 for examples). Methods for the construction of key patterns by hand, that may have been used by the original Celtic artists, are described in [Bai90, Bai93, Mee02]; these methods are mainly oriented at which straight long lines may be drawn. On the other hand, small patterns or tiles may be identified that are repeated throughout the whole design. For this, Sloss [Slo97] overlays a key pattern with a grid whose axes run parallel to the pattern border, obtaining rectangles of various sizes. In contrast (and more in line with [Bai93]), we propose to use triangles and squares with a 45◦ slope as tiles. We then use tree-based collage grammars to show how these tiles can be 1 structurally combined to yield well-formed key patterns. Moreover, we discuss the structural differences between knotwork [DK00] and key patterns. All collage grammars for key patterns that we developed were implemented using Frank Drewes’ system T REEBAG [Dre06, Sect. 8]. The paper is organised as follows: In Section 2, basic notions of tree-based collage grammars are recalled. Section 3 contains a structural analysis of basic key patterns and a description of the collage grammar that we used to generate them. In Section 4, variations of the first model are proposed. The paper concludes with a brief summary and ideas for various lines of future research. 2 Tree-based Collage Grammars The basic notions for tree-based collage grammars collected in this section follow presentations given in [DKL03, DEKK03, Dre06]. Please consult these, [Dre06] in particular, for more detail, including examples. Let N = {0, 1, 2, 3, . . . } denote the set of natural numbers, and [n] = {1, . . . , n} for n ∈ N. Moreover, R denotes the set of real numbers, and R2 the Euclidean plane, which contains points (x, y) ∈ R2 . We will use expressions to represent collages and call such an expression a term (or tree) over Festschrift H.-J. Kreowski 2 / 16 ECEASST a certain signature. In general, a signature is a finite set Σ of symbols, each symbol f ∈ Σ being assigned a unique rank rankΣ ( f ) ∈ N. The set TΣ of terms over Σ is the smallest set such that for n ∈ N, f [t1 , . . . ,tn ] ∈ TΣ for all f ∈ Σ with rankΣ ( f ) = n and all t1 , . . . ,tn ∈ TΣ . For n = 0, we may omit the parentheses in f [ ], writing just f instead. It is now possible to define collages and the relationship between collages and terms in TΣ formally. A part p ⊆ R2 is a bounded subset of the Euclidean plane; intuitively, p is a set of black points. A collage C is a finite set of parts, and the set of all collages is denoted by C . Transformations f : R2 → R2 on R2 are canonically extended from points to parts and collages, i.e., f (p) = { f (x, y) | (x, y) ∈ p} for a part p, and f (C) = { f (p) | p ∈ C} for a collage C. For affine transformations f1 , . . . , fn on R2 , hh f1 · · · fn ii denotes the operation f : C n → C given by S f (C1 , . . . ,Cn ) = fi (Ci ) for all C1 , . . . ,Cn ∈ C . A collage operation is either an operation of the i∈[n] form hh f1 · · · fn ii for affine transformations f1 , . . . , fn (n ≥ 1) or a constant collage, viewed as an operation of arity 0. A collage signature is a finite signature Σ consisting of collage operations, where ranks coincide with arities. For a term t ∈ TΣ , its value is val(t), i.e., the collage val(t) = f (val(t1 ), . . . , val(tn )) if t = f [t1 , . . . ,tn ]. By such an interpretation of ranked symbols as collage operations, appropriate grammatical devices for generating sets of terms allow us to generate sets of collages. Among such devices, we consider the regular tree grammar and the top-down tree transducer, and we call the combination of a tree generator and a collage algebra a tree-based collage grammar. Since we deal exclusively with tree-based collage grammars in this paper, in the following we will refer to them simply as collage grammars. A regular tree grammar works analogously to a regular string grammar, but by replacing nonterminals in terms and having nonterminals occur only without subterms. Formally, a regular tree grammar is a system G = (N, Σ, P, S) consisting of • a finite set N of nonterminals, which are considered to be symbols of rank 0, • a signature Σ disjoint with N, • a finite set P ⊆ N × TΣ∪N of productions, and • an initial nonterminal S ∈ N. A term t ∈ TΣ∪N directly derives a term t 0 ∈ TΣ∪N , denoted by t −→P t 0 , if there is a production A ::= s in P such that t 0 is obtained from t by replacing an occurrence of A in t with s. The language generated by G is L(G) = {t ∈ TΣ | S −→∗P t}, where −→∗P denotes the reflexive and transitive closure of −→P ; such a language is called a regular tree language. A tree transducer transforms some input tree into an output tree by traversing the input tree symbol by symbol, possibly storing some information in one of finitely many states. Formally, a top-down tree transducer is a system td = (Σ, Σ0 , Γ, R, γ0 ) consisting of • finite input and output signatures Σ and Σ0 , • a finite signature Γ of states of rank 1, where Γ ∩ (Σ ∪ Σ0 ) = 0, / • a finite set R of rules, and 3 / 16 Volume 26 (2010) Generation of Celtic Key Patterns with Tree-based Collage Grammars • an initial state γ0 ∈ Γ. Each rule in R has the form γ[ f [x1 , . . . , xn ]] → t[[γ1 [xi1 ], . . . , γm [xim ]]], where γ, γ1 , . . . , γm ∈ Γ are states, n is the rank of symbol f ∈ Σ and x1 , . . . , xn are pairwise distinct variables (of rank 0 and not occurring in Σ ∪ Σ0 ∪ Γ); and t is a term with symbols from Σ0 and m ∈ N subterms of the form γ j [xi j ] with i j ∈ [n], i.e., xi j ∈ {x1 , . . . , xn }. There is a computation step of td from a term s to a term s0 , denoted by s ⇒R s0 , if R contains a rule γ[ f [x1 , . . . , xn ]] → t[[γ1 [xi1 ], . . . , γm [xim ]]], s has a subterm of the form γ[ f [t1 , . . . ,tn ]], and replacing this subterm in s with t[[γ1 [ti1 ], . . . , γm [tim ]]] (which is formed as in the rule, but with corresponding subtrees ti1 , . . . ,tim from s instead of variables xi1 , . . . , xim ) yields s0 . The tree transformation computed by td is given by td(s) = {s0 ∈ TΣ0 | γ0 [s] ⇒∗R s0 } for every tree s ∈ TΣ , where ⇒∗R denotes the reflexive and transitive closure of ⇒R . 3 The Structure of Celtic Key Patterns In this section, we show a way to structure Celtic key patterns so that they can be easily generated by collage grammars. We first identify a small set of tiles – the constant collages – that allows us to put together a whole pattern, and then describe the syntactic synthesis. Following [Bai93], a typical key pattern will often be a coherent composition of isosceles right-angled triangles to which a border line needs to be added, see Figure 2 left. Moreover, note that the smooth borders must be produced by triangle hypotenuses. In particular, the top and bottom border triangles have horizontal hypotenuses, whereas the hypotenuses of all other triangles are vertical. This suggests a division into square tiles as indicated in Figure 2 Figure 2: Division of a key pattern into triangles (left) and squares (right) Festschrift H.-J. Kreowski 4 / 16 ECEASST right, which also takes care of drawing the border lines. The resulting set of basic tiles (modulo reflections and 90◦ rotations) is shown in Figure 3. At first glance, the last two of the five tiles appear to be identical to the preceding two. There are, however, subtle differences, for two reasons. First, key patterns have two different types of corners since a corner is obtained by so-called mitring, which means reflecting a basic triangle at one of its shorter sides; compare, e.g., the two right corners of a pattern in Figure 2. Secondly, a line always comes with a thickness, and where a hand-drawn line lies on the connecting sides of two tiles, each of the graphic tiles gets a line of half the thickness. Thus, the two middle tiles d1 and d2 in Figure 3 have a short line at a 135◦ angle that is not present in the last two tiles, and in tile d10 the left corner of its left black triangle is pointed. sq d1 d2 d1 d2 Fig. 3. The set of basic tiles Figure 3: The set of basic tiles which also takes care of drawing the border lines. The resulting set of basic tiles (modulo reflections and 90◦ rotations) is shown in Figure 3. At first glance, the last two of the five tiles appear to be identical to the preceding two. There are, however, subtle... differences, for two .reasons. First,.key patterns have two differ. .. ent types of corners since a corner is. obtained by so-called mitring, which means . .. sides; compare, .. reflecting a basic e.g., the two right a1 triangle at ..one of its shorter . . corners of a pattern in Figure 2. Secondly, a line always comes with a thickness, and where a hand-drawn line lies on the connecting sides of two tiles, then each a2 a line b2 the bthickness. b2 Thus, b1 of half b1 the two middle tiles of the graphic tiles 1 sq gets that is not present in the d1 and d2 in Figure 3 have a shortsqline at a 135◦rangle 1 mvtriangle is pointed. last two tiles, and in tile d1mv the left cornermv of its left black Now let us come to the of these sqmsyntactic arrangement sqm r2 tiles in a rectangular key pattern. The task is to overlay the pattern with a tree whose interpretation mv mvpattern. In mv through collage operations yields the order to find the tree, we reuse sq for rectangular sq knotwork,r1namely to develop the pattern the idea from [DK00] from its centre. One can immediately observe from Figure 2 that the left half 2 d1 from the right d1 half by a rrotation of the pattern may be obtained of 180◦ about the centre. The right half in turn may be seen as having a horizontal backbone through the centre, where each vertical line of square tiles above the backbone d2 d2 d2 may be obtained from the same line below the backbone by a rotation of 180◦ about the crossing point of the vertical line with the backbone. (The border, however, will need special treatment, which we will discuss at the end of the section.) Thus, we can concentrate on the lower right section as sketched in Fig.Figure 4. A sketch of aantree over collage operations generates the lower right section 4 to get idea of the required collagethat signature. Figure 4: A sketch a pattern tree over operations that lower3. right section of the of theof key in Figure and2d2 are interpreted by the generates tiles as giventhe in Figure Constants sq, d1collage and r result from mitring d and d , respectively, as described Constants r 1 2 1 2 key pattern in Figure 2 above. Constant sqm results also from a reflection of sq, but this time in the – bvertical as b1 , but in addition collage C1 which is put horizontal) axishas through the middle of the tile. This 2 (C1 , C(or, 2 , Cequivalently, 3 , C4 ) behaves reflection is necessary because two adjoining tiles need to agree in the path at the current position; Now let us come to the syntactic arrangement of tilesin in them (this isCunlike knotwork tilesthese considered [DK00], where diagonal length downward and Ca2 rectangular half the the lengthkey pattern. The – alinking 2 (C1 , C 2 ) moves 1 one the cord always leaves through the centre of a tile side). to the right; and task is to overlay the pattern with a tree whose interpretation through collage operations yields , C3 , C4 : and rotates C The work follows. For all C1 , C2position , Coperations , C ) puts C asand C both at collages the current – a (C 1 2 3 1 2 3 the pattern. In order to1 find thethat tree, we reuse the idea from [DK00] for rectangular knotwork, ◦ by– 180 about Cposition. mv(C 1 , C2 ) puts 1 at the current position, and translates C2 downward for namely to develop thethepattern from its centre. One can immediately observe from Figure 2 that diagonal length of a tile; Now have to be organised in order to yield well-formed key (C2 , Coperations – b1these ◦ 3 , C4 ) moves C2 half this length downward, C3 half the length to the the left half of the pattern may be obtained the right halfprocess, byofa180 rotation of 180 about the ◦ patterns. Let and us first take look at afrom successful generation like the one right, C3 half thealength downward followed by a rotation about current shown where representations of terms arebackbone given for easier centre. The right halfinitsinFigure turn 5,position; may bepictorial seen as having a horizontal through the centre, understanding. Starting from some initial item, the idea is to specify the width where each column of square tiles above the backbone may be obtained from the same column of the pattern before the height. ◦ about 5the crossing point of the column’s vertical centre below the backbone a rotation of 180 In by order to get uniform growth both horizontally and vertically, some regulation mechanism has to be employed.will For this, use a regular tree grammar line with the backbone. (The border, however, needwespecial treatment, which we will discuss 5 / 16 producing unary terms over the symbols w1 , w2 , h1 of rank 1 and h2 , wh2 of rank 0 such that the terms without parentheses belong to the string language of the regular expression w1∗ (w2 h1 h∗1 h2 |wh2 ). Symbols wi specify the width and Volume symbols hj the height of the pattern, symbols x1 the internal growth and symbols y2 the border construction, with symbol wh2 for the special case that no vertical growth is to take place. These control terms are then used as input for a top-down tree transducer that consumes in each step the first symbol of the term and copies the rest of the term identically to all newly introduced states. The rules of the transducer are shown in Figures 6–10, in the same pictorial representation as above, and with grey squares representing the named transducer 26 (2010) Generation of Celtic Key Patterns with Tree-based Collage Grammars at the end of the section.) Thus, we can concentrate on the lower right section as sketched in Figure 4 to get an idea of the required collage signature. As proposed earlier, the figure displays a portion of the tree for the key pattern in Figure 2 overlaying the pattern structure. The constant symbols sq, d1 and d2 refer to the tiles given in Figure 3; their placement results from the translation operations above them in the tree and reflects the layout of the tiles in the pattern. The additional constants r1 , r2 and sqm can be seen as abbreviations for applying a unary collage operation to d1 , d2 and sq respectively. More precisely, constants r1 and r2 result from mitring d1 and d2 , respectively, as described above. Constant sqm results also from a reflection of sq, but this time in the vertical (or, equivalently, horizontal) axis through the middle of the tile. This reflection is necessary because two adjoining tiles need to agree in the path linking them (this is unlike the knotwork tiles considered in [DK00], where the cord always leaves through the centre of a tile side). The operations work as follows. For all collages C1 ,C2 ,C3 ,C4 : • mv(C1 ,C2 ) puts C1 at the current position (meaning the affine transformation applied to C1 is the identity), and translates C2 downward for the diagonal length of a tile; • b1 (C2 ,C3 ,C4 ) moves C2 half this length downward, C3 half the length to the right, and C4 half the length downward followed by a rotation of 180◦ about its current position; • b2 (C1 ,C2 ,C3 ,C4 ) behaves as b1 , but has in addition collage C1 which is put at the current position; • a2 (C1 ,C2 ) moves C1 one diagonal length downward and C2 half the length to the right; and • a1 (C1 ,C2 ,C3 ) puts C1 and C2 both at the current position and rotates C3 by 180◦ about that position. Now these operations have to be organised in order to yield well-formed key patterns. Let us first take a look at a successful generation process, like the one shown in Figure 5, where pictorial representations of terms are given for easier understanding. Starting from some initial item, the idea is to specify the width of the pattern before the height. In order to get uniform growth both horizontally and vertically, some regulation mechanism has to be employed. For this, we use a regular tree grammar producing monadic terms over the symbols w1 , w2 , h1 of rank 1 and h2 , wh2 of rank 0 such that the terms without parentheses belong to the string language of the regular expression w∗1 (w2 h1 h∗1 h2 |wh2 ). Symbols wi specify the width and symbols h j the height of the pattern, symbols σ1 (i.e., symbols with the index 1) the internal growth and symbols σ2 the border construction, with symbol wh2 for the special case that no vertical growth is to take place. These control terms are then used as input for a top-down tree transducer that consumes in each step the first symbol of the term and copies the rest of the term identically to all newly introduced states. The rules of the transducer are shown in Figures 6– 10, in the same pictorial representation as above, and with grey squares representing the named transducer states: this is achieved by expanding the algebra in such a way that it interprets the states as constants. This approach yields a full visual interpretation of nonterminal trees and therefore also a pictorial representation of derivations. For rules, an additional point of reference is needed to relate the position of the left-hand-side to the position of the right-hand-side; in Figures 6–10 this point is represented by a magenta plus symbol. Festschrift H.-J. Kreowski 6 / 16 ECEASST ⇓ ⇓∗ ⇓∗ ⇓∗ Fig. 5. 5: Typical derivation Figure Typical derivationsequence sequencefor fora akey keypattern pattern 7 / 16 Volume 26 (2010) 7 Generation of Celtic Key Patterns with Tree-based Collage Grammars w1 + w1 + ::= + encounters symbols w1, w2, wh2 w2 w2 + initial state Transducer rules to+ start a computation from the Fig. 6. wh – State S is the initial state and may encounter symbols w1 wh2 column in Figure 6). + symbols w1 – State R::=executes horizontal+ growth and may encounter ::= (Figure 7). 2 2 2 (left 2 2 Fig. 6. rules to start aw computation from the::= initial statestate ::=6:Transducer w wh Figure the initial ::= Transducer rules to start a computation from ::= 1 2 2 + + + + ::= Fig. 8. Transducer rules to grow a design vertically – State S initial is thestate initial state and may symbols encounter w1 26). As2 the (leftcentre • State S is the may encounter w1 ,symbols w2vertically , wh2 (Figure encounters Fig. 8. and Transducer rules to grow a design w column in Figure 6). lie inside a tile sq symbols of a key pattern may either or inbetween two suchw tiles, there are two w , w , wh – State R executes horizontal growth and may encounter symbols nondeterministic. w1 2 2 options for processing each of the three symbols, making the transducer h1 +, but7).on encountering h , i.e., for the corner, it has to be tile d1 instead, 2 Fig. 7. Transducer rules to grow a design horizontally + + (Figure ::= The right-hand-sides in the first row of Figure 6 are created when w is consumed h1 , butison encountering h2 ,with i.e., tile for the 1 d1 instead, by which suitably combined d2 . corner, it has to be tile is combinedhresult with tile dstate encounters S. The next two right-hand-sides S encounters immediately symbol w2 , 2 . right – which Lastly, thesuitably threew transducer ruleswhen in hthe column E, O and OM of Figure 6 serve to symbols Lastly, the three transducer rules in the right column of 6 serve to work i.e.,–when no horizontal growth takes place. In this case, state OM iswintroduced to encounter w , w , wh key patterns whose centre is inbetween two tiles Figure produce sq. When nolines hori+ w – State E ignores symbols wi and produces the even-numbered vertical symbols 0 produce key patterns whose centre is inbetween two tiles sq. When no horianalogously state O by producing sqstate d1 instead ofsymbol d1 for the + zontal m , but Sproducing + w , h , h tileimmediately growth takes place,state i.e., tiles when encounters ::=to using tile sq;+ analogously, O produces odd-numbered verticalsymbol lines zontal growth takes place,8 i.e., when state Sthe encounters immediately top and bottom border (Figure on the right). A key pattern where the vertical centre w , state OM is introduced to work analogously to state O by producing 2Fig. tile using sq (left side of Figure 8). + + m 6. Transducer rules to startto a computation from theto initial stateO by producing ::= w , state OM is introduced work analogously state 2 w line of tiles is capped with half-tile triangles at both ends, like the one shown in Figure 1, tiles sq butD3 producing tile d1 symbols instead of the topthey andgrow bottom border h h h h m ,and 1 for which – States D2 encounter only hi d , from the lower tiles sq , but producing tile d instead of d for the top and bottom border m 1 1 (Figure 8 on the right). We leave itoftotransducer the why cannot beofgenerated by the resulting setupper rules. We leave it to out the interested + (and + to find half the right border the halfinterested of the leftreader border). (Figure 8 on the right). We leave it tointhe interested reader to find out why + nevertheless +how + be remedied. + 1 cannot + by the the key pattern shown Figure be generated reader to find out this problem may ::= ::= wh wh –– State S is the initial may (and encounter symbols w1the (left The upper halfthe of key thestate rightand border the lower half of 2 left 2border) nevertheless pattern shown in Figure 1 cannot be generated by the resulting set 7. of 6). transducer rules,toand how to remedy the problem. Fig. Transducer rules grow a design horizontally column inthrough Figure is grown states U1, U2 and U3 from symbols h (Figure 10). These i resulting set of transducer rules, and how to remedy the problem. • State R executes horizontal growth and may encounter symbols w1 , w2 , wh2 (Figure 7). ++ ::=executesthe + symbols – State horizontal growth andwith maytiles encounter w statesRproduce alternative corner d1 and d2 as follows: 2 As may 2 The first right-hand-side is the result of processing w second results1 from consuming ::= 1 , the vertically Fig. 8. Transducer rules to grow a design (Figure be seen7).in Figure 5, state U2 is one step behind the other two states, with the h h h h w2–, and the Elast from consuming 2 , respectively. State ignores symbols wwh produces even-numbered vertical retardation provided by state X on the firstthe occurrence of symbol h1 . lines This i and + + using tile sq; analogously, state produces vertical lines is because U2 has to produce (aO rotation of)the tileodd-numbered d1 while reading symbol + + + ::= ::= h , but on encountering h , i.e., for the corner, it has to be tile d1 instead, 1 Fig. tile 2 6. rules to start a computation from the initial state ::= Transducer ::= w w wh using sq::= (left side of Figure 8). ::= ::= m ::= suitably which combined with tile d2 . encountersissymbols – States and D3 encounter only symbols hi , from which they grow the lower h ,D2 h – Lastly, the three transducer rules in8 the right column of Figure 6 serve to + half of the right::=border+ (and the upper +half of the left+ border). Fig. 9. Transducer Transducer rules grow vertical produce patterns whose centre is inbetween twoborders tilesw1sq. When no Fig. 8. rules totogrow a the design vertically – State S iskey the state and may encounter symbols (lefthoriFig.initial 9. Transducer rules to(and growathe the vertical borders – The upper half of the right border lower half of the2 left 2border) encounters Fig. 8. Transducer rules to grow design vertically zontal growth takes place, i.e., when state S encounters immediately symbol column in Figure 6). is grownwsymbols states U1, U2 and U3 from symbols hi (Figure 10). These , through w ,OM wh w , state is introduced to work analogously to state O by producing 2 – State Rproduce executesthe horizontal growth andwith maytiles encounter w1 2 As may 2 states alternative corner andsymbols d2 astile follows: h1 , but encountering , i.e., theacorner, itd1has d1 instead, 2rules tiles sq7). ,Fig. but d1tofor instead of d1 for the to topbe and bottom border 7.producing Transducerhtile grow design horizontally mon (Figure h , but on encountering i.e., forstep the . corner, has to be tilestates, d instead, be seen in Figure 5, state hU2 is one behind itthe other two with the 2 ,with U 1and X encounter which is8 suitably combined tile (Figure on the right). We leave it tod2the interested reader to find1 outh why h provided symbolsish ,suitably h state hon the h which combined with tile d . retardation by X first occurrence of symbol h1 .toThis 2 Figure 7: Transducer rules to grow a design horizontally h rules – nevertheless Lastly, the three in hthe right E, column Figure 6 serve OM of be thew transducer key pattern shown in Figure 1O and cannot generated by – isLastly, the three transducer rules in the right column of Figure 6 serve to the + + to produce encounter because U2 has (a rotation of) tile d while reading 1 produce key centre is inbetween two When no symbol hori::= tiles + whoserules, resulting set::=patterns of transducer and how to remedy thesq. problem. 1 1 2 1 i 1 2 1 2 2 2 2 2 i i 1 1 2 2 1 2 1 1 2 2 1 1 2 2 2 2 2 1 2 2 i 1 2 1 2 1 i 1 2 2 – State E ignores symbols wi and produces the even-numbered vertical lines symbols + + + + no horiproduce key whose isstate inbetween two sq. When ::=patterns ::= tilesimmediately + zontal + + w, h , h takes place, i.e.,centre when Sthe encounters symbol ::=growth using tile sq; analogously, state O produces odd-numbered vertical lines zontal growth takes place, i.e.,towhen state S encounters immediately symbol w2 , state OM is introduced work analogously to state O by producing using tile sq (left side of Figure 8). m 8 ::= Festschrift H.-J. Kreowski 8 / 16 w2 , state OM producing isw introduced to instead work analogously to top state h by producing h tiles sq but tile d of the andO bottom border h h h m ,and 1 for which 1 symbols h h h – States D2 D3 encounter only hi d , from they grow the lower tiles sq , but producing tile d instead of d for the top and bottom border m 1 1 it to the interested reader + + to find out + (Figure 8 on right). We leave why + (and ::=the ::=reader half of the right border the upper halfinterested of the left border). (Figure 8 on the right). We leave it tointhe to find out why + + + + + 1 cannot ::= ::= + nevertheless + + + the key pattern shown Figure be generated by the ::= half ::= of the left border) ::=the ::=half – The upper of key the pattern right border (and the lower nevertheless shown in Figure 1 cannot be generated by the resulting Fig. set 7. of transducer rules, and how to remedy the problem. Transducer toand grow a design horizontally isresulting grown through states U1, rules U2 and U3how from hi (Figure 10). These set of transducer rules, to symbols remedy the problem. + Fig. 10. the Transducer rules to produce the second corner As may states produce alternative corner with tiles d1 and type d2 asoffollows: i i Fig. 8. 1 1 2 1 2 2 Transducer rules to grow a design vertically 1 1 2 2 + symbols w1 – State R::=executes horizontal+ growth and may encounter w w ::= (Figure 7). w w 1 1 1 1 2 2 2 (left + + + + ::= + + ::= Fig.encounters 6. initial statewh2 ::= Transducer rules to start aw1 computation from w2 the::= ::= ::= symbols encounters , w2, wh2 wsymbols 1 w2, wh2 w1 , + w2 w2 2 2 + +w + w ::= Fig.initial 8. Transducer rules to grow a design vertically w1 2 – State S is the state and may encounter symbols encounters Fig. 8. Transducer rules to grow a design vertically + initial state Fig. 6.Figure Transducer column in 6). rules to+ start a computation from the symbols + initial state Fig. 6. Transducer rules to+ start a computation from the w , w , wh ECEASST – State R executes horizontal growth and may encounter symbols w1 2 2 h1 , but7).on encountering , i.e.,tofor theacorner, it has to be tile d1 instead, Fig. 7. Transducerh2rules grow design horizontally (Figure h1State , butisSon h2 ,with i.e., tile for corner, itsymbols has to bewtile wh wh d1 instead, –which isencountering the initial state and maythe suitably combined dencounter 1 wh 2 2 (left 2 .wh –which State S is the initial state and may encounter symbols w is suitably combined with tile d . 1 2 (left 2 right column of Figure 26 serve column Figure 6). h rules in hthe w transducer – Lastly, theinthree to E, O and OM column in Figure 6). – –Lastly, the three transducer rules in the right column of Figure 6 serve to encounter + growth ::= +tiles State R executes horizontal and may encounter symbols w produce key patterns whose centre is inbetween two sq. When no hori1 2 2 + – State E ignores symbols wi +and produces theencounter even-numbered vertical lines symbols ::= +tiles – State R executes horizontal growth and may symbols w produce key patterns whose centre is inbetween two sq. When no hori1 2 2 (Figure 7). + zontal + + w , h , h growth takes place, i.e., when state S encounters immediately symbol ::= ::= using tile sq; state O produces the odd-numbered verticalsymbol lines (Figure 7). analogously, zontal growth takes place, i.e., when state S encounters immediately w2 , state is introduced to work to state O by producing using tile sqOM side of Figure 8). analogously m (left ::= w2 , state OM isw introduced to instead work analogously to top state by producing tiles sq , but producing tile d of d for the andO bottom border h h h h m 1 1 – States D2 and D3 encounter only symbols h , from which they grow the lower i tiles sqm86. , on but producing tile d1 instead ofinterested d1 for thethe top and bottom border Fig. Transducer rules to start aw to computation from initial state ::= ::= w wh out why (Figure the right). We leave it the reader to find + + ::= 6.on Transducer startupper computation from the initialtostate half ofFig. the right borderrules (and the halfinterested of the border). w left wh out why (Figure 8::= We to leave itaw to reader find ::= + the ::=be generated + nevertheless + + by the the right). key pattern shown inthe Figure+ 1 cannot ::= ::= – The upper +halfthe of key the right border (and the lower half of the left border) nevertheless pattern shown in Figure 1 cannot be generated by the + + + ::= resulting Fig. set of transducer rules, and how to remedy the problem. 7. Transducer toand grow a design horizontally + + rules +to symbols is–resulting grown states U1, U2 and U3 from hi +(Figure These ::= set ofFig. transducer rules, remedy the problem. 8. Transducer rules tohow grow a design vertically State Sthrough is the initial state and may encounter symbols w1 10). 2 2 (left Fig.initial 8. Transducer rules to grow a design vertically – column State Sencounters is Figure the state corner and may encounter symbols w (left 1 2 2 may states produce the alternative with tiles d and d as follows: As in 6). 1 2 symbolsFig. 8. encounters Transducer rules to grow a design vertically Fig. 8. Transducer rules to grow a design vertically column in Figure 6). , w , wh 5, state U2 is one step behind the other two states, with the symbols be seen in Figure 8:horizontal Transducer rules to grow design vertically – State R wFigure executes growth and may aencounter symbols w1 h2 2 h h h w , w , wh – (Figure State R 7). executes horizontal growth and may encounter symbols w1dh1 1instead, – retardation State ignores symbols wi hand produces the even-numbered vertical h1 E, but on encountering ,Xi.e., for the corner, it has to tile provided by state on the first occurrence ofbe symbol .2 lines This2 2rules Fig. 7. Transducer to grow a design horizontally + h1tile , butsq; on encountering h2rules ,with i.e., for the corner, it has to be tilevertical d1 instead, Fig. 7.+ to Transducer to grow design horizontally (Figure 7). using analogously, state O rotation produces the lines which isU2 suitably combined tile d2+a. of) is because has produce tileodd-numbered dhas symbol 1 while h encountering i.e., for the corner, ithas tobebereading tile+ dd1instead, instead, +h 2 , (a + 1 , but on ::= ::= which is suitably combined with tile d . h , but on encountering h , i.e., for the corner, it to tile 1 2 2 right column of Figure 6 1serve to h h w – Lastly, the three transducer rules in the using tile sq (left side of Figure 8). ::= ::= msymbolscombined E, O and OM which is d2them . rightand • State ignores wi (i.e.,with itwith consumes proceeds to their subtree h rules – ELastly, thesuitably three indishthe column of Figure 6 serve to without wtransducer which issymbols suitably combined tiletile encounters encounter Otwo and OM 2 .inbetween produce key patterns centre tiles sq. When no hori+ whose –anyStates D2 and D3 encounter only symbols hiright , the fromE, which they grow the lower – –further State E ignores symbols w and produces even-numbered vertical lines Lastly, the three transducer rules in the column of Figure 6 serve to symbols i h , h action) and produces the even-numbered vertical lines using tile encounter produce key patterns centre isstate inbetween two of tiles sq. When no hori8 the – –Lastly, the three transducer rules rightthe column Figure 6 serve tosq; analo+whose E::=growth ignores symbols wstate and produces even-numbered vertical lines + State + border +in wleft , h , h border). zontal takes place, i.e., when Sthe encounters immediately symbol symbols ithe half of the right (and upper half of the using tile sq; analogously, O produces odd-numbered vertical lines produce key patterns whose centre is inbetween two tiles sq. When no horigously, statetile O produces the odd-numbered vertical lines tile When sqm . Finally, state OM + zontal + 9. takes +toisgrow growth place, i.e., state encounters w , h using , htiles immediately Fig. Transducer rules theSthe vertical borders ::= produce key patterns whose centre inbetween two sq. nosymbol horiusing sq; analogously, state O produces odd-numbered vertical lines w OM isthe introduced towhen work analogously to state by producing 2 , state tilegrowth sq (left side ofwith Figure 8). zontal takes place, i.e., when state encounters immediately symbol Fig. Transducer rules to grow theSthat vertical borders 0left –behaves Theusing upper half of right border (and the lower half oftile theO border) m 9. ::= w , state OM is introduced to work analogously to state O by producing nearly the same as O , the difference it places d instead of d 2 1 for the zontal growth takes place, when S dencounters immediately symbol using tilem ,sq (left side ofi.e., Figure 8).state tiles sq but producing tile dto instead of the andgrow border m h h analogously h h ::= 1 for which 1 symbols w2 , state OM iswwencounter introduced work tohtop state O1bottom by producing – States D2 and D3 only h , from they the lower is grown through states U1, U2 and U3 from symbols (Figure 10). These i i tiles sq , but producing tile d instead of d for the top and bottom border h h h h border (Figure m 1 symbols , (Figure stateD2 OM isthe introduced to work to reader state O by 88). on right). Wetile leave it with toanalogously the findproducing out why –w2half States and D3 encounter only hinterested , 1from which they the + (and + togrow id tiles but producing d1 upper instead of for the bottom border ofsq the right border the half of the leftreader border). m 1d states produce the alternative corner tiles and dtop asand follows: As lower may (Figure 8 , on the right). We dleave it tointhe interested tobottom find out why 1the 2 and + +generated tiles sq , but producing tile instead of d for top border + half + + + + m 1 nevertheless the key pattern shown Figure 1 cannot be by the of the right border (and the upper half of the left border). 1 ::=Figure ::= two (Figure 8D3on the right). Weisleave it to the interested reader to find out why be seen in 5, state U2 one step behind the other states, with the –U+ and The upper half of the right border (and the lower half of the left border) • States D2 and encounter only symbols h , from which they grow the lower half nevertheless the key pattern shown in Figure 1 cannot be generated by the of the + + + + X encounter i ::= ::= (Figure 8 on the right). We leave it to the interested reader to find out why resulting set of transducer rules, and how to remedy the problem. – symbols The upper half7. ofTransducer the right border (and lower halfh of of the left nevertheless the key pattern shown inhow Figure 1 horizontally cannot beproblem. the h , h through hon hgenerated h. by Fig. rules to grow a the design is grown states U1, U2 and U3 from symbols 10).hborder) retardation provided byh half state Xthe the first occurrence symbol This i (Figure resulting set of transducer rules, and to remedy the 1These right border (and the upper of left border). nevertheless the7. key pattern shown in Figure 1symbols cannot be generated by the Fig. Transducer rules toand grow a design horizontally is grown through states U1, U2 and U3 from h (Figure 10). These i resulting set of transducer rules, how to remedy the problem. + d as reading + toalternative states produce corner with of) tilestiled::= and follows: As may is because U2 hasthe produce (a rotation symbol 1 while 1 d resulting set::=ofFig. transducer rules, andtohow toa design remedy thed22problem. states produce the corner with d::= as follows: As may 8.5, alternative Transducer grow vertically + seen + tiles + isrules + 1 and be in::=Figure state U2 one step behind the other two states, with the Fig. 8.5, Transducer h h to grow a design vertically h h be seen Figure state U2i and isrules one step the other of twosymbol states, with the – retardation State E in ignores symbols w produces even-numbered vertical provided byh state X thebehind firstthe occurrence h This hon h 1 h. lines + of symbol + – using State tile E ignores symbols w and produces the even-numbered vertical lines 8 retardation provided by state X on the first occurrence h . This i 1 sq; analogously, state produces vertical h reading h lines is because U2 has+ to produce (aO rotation of)the tileodd-numbered d1 while symbol + + + + ::=analogously, ::=has h(a using tileonsq; Ofor produces lines h1because , +but encountering hstate the corner, itodd-numbered to be reading tile vertical d instead, is U2 has side toh produce rotation of)the tile d1 while symbol 2+, i.e., using (left of Figure 8). + 1 + tile sq::= + ::= m + + h1 , but on hFigure i.e., tile for the corner, ::= it has to be tile d1 instead, 2 ,with ::= using tile sqencountering side of 8). which issymbols suitably combined d . encounters ::= ::= m (left 2 + encounter + only + – States and D3 symbols hi , from ::= ::=which they grow the lower which suitably combined with tile d2+. right h ,D2 hissymbols encounters Lastly, the three transducer rulessymbols in8 the column ofthey Figure 6 serve to ::= ::= which –– half States and D3border encounter only hi of , from grow the lower h ,D2 h of the right (and the upper half the left border). – produce Lastly, the three transducer rules in the right column of Figure 6 serve to Fig. 9.border Transducer rulesupper to8isgrow the vertical borders patterns whose centre inbetween two tiles sq. When no horihalf of thekey right (and the half of the left border). Fig. 9. Transducer rules to(and grow the lower vertical borders – The upperkey half of the right border the half of sq. theWhen left border) produce patterns whose centre is inbetween two tiles no horizontal takes place, i.e., when state Ssecond encounters immediately symbol Fig.growth 10. Transducer rules to produce the type of corner Fig. 9. Transducer rules to(and grow the vertical borders – is The upper half of the right border the lower half of the left Figure 9:states Transducer grow vertical grown through U1,i.e., U2rules andto U3 from symbols hborders (Figure 10).border) These zontal growth takes place, when state Sthe encounters symbol i immediately w , state OM is introduced to work analogously to state O by producing 2 is grown through states U1, U2 and with U3 from h 10).As These states produce the alternative corner tilessymbols d1 and d2i (Figure as follows: may w , state OM is introduced to work analogously to state O by producing 2 tiles sq tile dcorner oftiles d1 for top and bottomAsborder m , but producing 1 instead states produce the5, alternative with d1the and d2two as follows: may be seen in, Figure state U2 isdone step behind the other states, with the tiles sq but producing tile instead of d for the top and bottom border U and X encounter m 1 1 it to the interested reader to find out why (Figure 8 on the right). We leave be seen in Figure 5, state U2 is one step behind the other two states, with the , h symbols h h h h h U and X encounter retardation provided by We state X on the first occurrence of to symbol h1 . why This (Figure 8 on the right). leave it to the interested reader find out nevertheless the key by pattern Figure 1 cannot be generated by the symbols h , h provided h state shown hon in h h. This retardation X the first occurrence of symbol h 1 + + isnevertheless because U2 haskey to pattern produceshown (a rotation of) tile while reading symbol the inhow Figure 1 cannot beproblem. generated by the ::=of ::= d1 the resulting set transducer rules, and to remedy + + is because U2 has to produce (a rotation+ of) tile::= d1 while reading symbol + + + resulting set::=of transducer rules, and how+ to remedy the problem. + + + ::= ::= 1 2 2 1 i 2 2 2 2 2 i i 1 1 2 2 1 2 2 1 1 2 2 1 1 2 1 2 2 1 2 2 2 1 i 1 2 i 1 2 2 2 i 1 2 i 1 2 i 1 2 1 2 i 1 2 1 2 i 1 2 1 2 1 2 1 2 1 1 2 1 2 2 1 1 1 2 1 2 2 2 i i + + 1 2 1 2 1 2 1 2 1 2 1 2 h1 h1 h2 h2 h1 h1 h2 h2 ::= ::= ::= ::= ::= Fig. 10. Fig. 10. + + + + 8 8 + + ::= ::= ::= ::= ::= + + + + Transducer rules to produce the second type of corner Transducer rules to produce the second type of corner Figure 10: Transducer rules to produce the second type of corner • The upper half of the right border (and the lower half of the left border) is grown through states U1, U2 and U3 from symbols hi (Figure 10). These states produce the alternative corner with tiles d10 and d20 as follows: As may be seen in Figure 5, state U2 is one step 9 / 16 Volume 26 (2010) Generation of Celtic Key Patterns with Tree-based Collage Grammars behind the other two states, with the retardation provided by state X on the first occurrence of symbol h1 . This is because U2 has to produce (a rotation of) tile d1 while reading symbol h1 , but on encountering h2 , i.e., for the corner, it has to be tile d10 instead, which is suitably combined with tile d20 . Reconsidering the complete model, one may ask why one should start growing key patterns from their centre, and not rather from the centre of one of their sides, or indeed a corner. These are, in fact, viable and sometimes even preferable alternatives. The question will be discussed with the variations of key patterns studied in the next section. 4 Variations of Celtic Key Patterns In Celtic key patterns, both the basic tiles and their structural arrangements offer many possiblities for distinctive designs. A small collection of alternatives is presented in this section. The considerations of the preceding section started with identifying a basic triangle tile in a complete the original many variations of this very typical, sides,key or pattern. indeed aIn corner. These Celtic are, inartwork, fact, viable and sometimes evenfirst, preferable alternatives. TheAquestion will be discussed the variations key triangle may be found. small collection of triangleswith is shown in the firstof row of patterns Figure 11. studied next section. Note that ininallthe triangles, the path enters at the same position close to the right angle, continues along the hypotenuse with half the original width, and leaves again at the acute angle opposite of the entrance. Any triangleof complying geometric constraints can be used instead of the 4 Variations Celticwith keythese patterns basic triangle of the previous section to produce a well-formed pattern with continuous paths. The smallest entirely of border triangles, areand shown the second row In Celticsuch key patterns, patterns,consisting both the basic patterns (i.e., the tiles) theirinstructural many possiblities for distincive designs. A small collection of needs of thearrangements figure. In orderoffer to grow larger patterns with the method of the preceding section, one alternatives is presented in ◦this section. to compose a triangle with its 180 rotation about the centre of the hypotenuse to form a square tile. The The derived square tiles are in the lastsection two rows of Figure The thirdarow contains considerations of shown the preceding started with11: identifying basic triangle pattern in centre a complete keyused pattern. the original Celticand artwork, many the squares with vertical path (as in theInpreceding section), the fourth row the variations of this first, triangle may be found. of small squares with horizontal centrevery path,typical, obtained from the upper squaresAbysmall a 90◦collection rotation. A triangles shown using in thethese firstsquares row ofisFigure Note that selection of keyispatterns shown 11. in Figure 12. in all triangles, the Fig. Various basic triangles, smallest corresponding key patterns, and derived Figure 11:11. Various basic triangles, smallest corresponding key patterns, and derived square tiles square tiles for larger key patterns for larger key patterns path enters at the same position close to the right angle, continues along the 10 / 16 hypotenuse with half the original width, and leaves again at the acute angle opposite of the entrance. Any triangle complying with these geometric constraints can be used instead of the basic triangle of the previous section to produce a well-formed pattern with continuous paths. The smallest such patterns, consisting entirely of border triangles, are shown in the second row of the figure. In order Festschrift H.-J. Kreowski ECEASST The geometric constraints for triangles imply similar constraints for squares: A path enters at a fixed position on each side of a square, and the paths within a square are connected in some way. In Celtic art, many such squares have been used (see Figure 13 for a small sample). Since these squares cannot be divided satisfyingly into triangles, they have to be combined with border triangles so that full key patterns may be generated. Some samples are shown in Figure 14. Fig. 12. Key patterns based uniformly on a triangle a square are connected in some way. In Celtic art, many such squares have been used (see Figure 13 for a small sample). Since these squares cannot be divided satisfyingly into triangles, they have to be combined with border triangles so that full key patterns may be generated. Some samples are shown in Figure 14. Fig.12: 12. Key Key patterns based uniformly onin a triangle One can also combine more than one square type aakey pattern. To avoid Figure patterns based uniformly on triangle disorderly arrangements, suitable syntactic rules may be employed. One such rule is to distinguish between constants sq and sqm (rather than having sqm as Onea can also combine morethus than oneway. square type art, in amany keydifferent pattern. To avoid disorderly arreflection of sq) and admit interpretations by squares; key a square are connected in some In Celtic such squares have the been rangements, suitable syntactic rules may be employed. One such rule is to distinguish between used (see Figure 13 for a small sample). Since these squares cannot be divided patterns in Figure 15 are of this kind. This rule may be refined by requiring triangles, they toabe combined border thatsatisfyingly squares used have alternately to interpret which leadsinterpretations tosokey constants sqtwo anddistinct sqm into (rather thanbe having sq reflection of with sq) sq, and thus triangles admit m as that full key patterns may be generated. Some samples are shown in Figure 14. patterns as shown in Figure by different squares; the key patterns16.in Figure 15 are of this kind. This rule may be refined by One can also combine more than one square a key pattern. To avoid requiring that two distinct squares be for used alternately to type interpret sq,pattern which leads to key patterns Further distribution rules different squares in in a key include: arrangements, suitable syntactic rules may be employed. One such as shown disorderly in Figure 16. rule is to distinguish between constants sq and sqm (rather than having sqm as a reflection of sq) and thus admit interpretations by different squares; the key patterns in Figure 15 are of this kind. This rule may be refined by requiring that two distinct squares be used alternately to interpret sq, which leads to key patterns as shown in Figure 16. Further distribution rules for different squares in a key pattern include: Fig. 13. of of square tiles Figure 13:Sample Samplecollection collection square tiles 11 in a key pattern include: Further distribution rules for different squares • Using different squares for the lower half and the upper half; this may be implemented in Fig. 13. Sample collection of square tiles 11 / 16 Volume 26 (2010) 11 Generation of Celtic Key Patterns with Tree-based Collage Grammars Fig.14: 14. Key Key patterns with a triangle border Figure patternsbased basedonona asquare square with a triangle border our model by doubling the states of the transducer so that the two halves may be treated independently, but to the same vertical extension as given by the input term. • Using different squares for each row of squares, but having the choice for the upper half reflected in the lower half; this may be implemented in the input term of the transducer by replacing the symbols h1 with references to the squares that shall be used. • Finally, one may use branching synchronization to achieve a more general symmetric distribution of synchronized squares. The method used to generate breaklines within the rectangular Celtic knot designs in [Dre06] is well suited for this. A nesting depth of 2 for the resulting branching collage grammar is sufficient to ensure that the overall design maintains horizontal and vertical symmetry, even though blocks of different squares may alternate in a nondeterministic fashion. Coming back to the question at the end of Section 3, the two pattern variation approaches above are good reasons toKey startpatterns the growth keysq pattern from the centre at least of the vertical Fig. 15. whereofsqa and m are interpreted differently direction. A further reason lies in the last four tiles shown in Figure 13, i.e., the dead-end spiral, the only type of tile given in that figure that does not have (at least) 180◦ rotational symmetry. Our model admits rotation of this tile between 12 the lower and the upper half of a key pattern; see, e.g., the last pattern in Figure 15. If, however, it is desired that all occurrences of this tile have the same orientation, then it is preferable to start vertical growth from the top (or the bottom) of the pattern. Festschrift H.-J. Kreowski 12 / 16 ECEASST Fig. 14. Key patterns based on a square with a triangle border Fig.15: 15. Key Key patterns patterns where interpreted differently m are Figure wheresqsqand andsqsq m are interpreted differently 12 Fig. 16.Key Keypatterns patterns where where sq by by twotwo distinct squares Figure 16: sqisisinterpreted interpretedalternately alternately distinct squares 13 / 16 – Using different squares for the lower half and the upper half; this may be implemented in our model by doubling the states of the transducer so that the two halves may be treated independently, but to the same vertical extension Volume 26 (2010) as given by the input term. – Using different squares for each row of squares, but having the choice for the upper half reflected in the lower half; this may be implemented in the input term of the transducer by replacing the symbols h1 with references to the squares that shall be used. Generation of Celtic Key Patterns with Tree-based Collage Grammars 5 Conclusion In this paper we have shown how rectangular key patterns with interior and border variations can be modelled using (tree-based) collage grammars to interpret the generated terms. All considered key pattern variations are covered by a class of tree generators that combine a regular tree grammar for monadic terms with a top-down tree transducer. The model for rectangular knotwork as proposed in [DK00, Dre06] is also based on square tiles, but uses branching tree grammars to encode a horizontally and vertically symmetric distribution of so-called breaklines over a knot. Consequently, the syntactic structure of rectangular knotwork with breaklines may be assumed to be one level more complex than the structure of rectangular key patterns with regular distribution of tiles. For both knotwork and key patterns, it is interesting to study how evenly placed holes of varying sizes and shapes can be added to the base pattern. These holes can either be left plain, or they can be filled with any type of Celtic tiling. The designs so produced are called carpet-page designs. We note that for an authentic look, the holes will have to be distributed in a symmetric fashion across the expanse of the base design. While the basic shape of such a hole is rectangular, holes in Celtic art also come in L, cross or crosslet shapes. The boundary of the hole itself needs to be sealed off with specific border tiles. Of course, holes need not be restricted to the interior of the key pattern boundary, but may also lie directly on it, breaking up the rectangular border. If these border cutouts are regularly distributed as well, the resulting key pattern designs display a multitude of interesting shapes, of which the cross is the most basic. In [DK00, Dre06], a way to include such holes is proposed for square knotwork panels that are grown diagonally from the centre to the corners and thus come with a natural vertical/horizontal synchronisation. It would be nice to have a generalised method that works for rectangular patterns (and therefore needs additional synchronisation), in any kind of tiling with defined border tiles. In Celtic art, it is often customary to fill such holes with some contrasting decorative pattern. This presents a modelling problem, since whatever pattern is created may not grow beyond the boundaries of the hole, and collage grammars do not offer context-sensitive queries. No matter whether the new pattern is created by subdivision or growth, information about the shape and size of the hole is required in order to create a correct pattern with a border that seamlessly joins the boundary of its parent hole. Then, a formalism is required that can deal with the multitude of possible shapes and sizes and create matching patterns. Additionally, some synchronisation between the scale of the tiles in the base panel (which inform the dimensions of possible holes) and the scale of hole-filling tiles must take place. The creation of round key pattern (or knotwork) panels with a circular tesselation pattern calls for another type of construction method altogether. Collage grammars as they are used here rely on local replacement, which cannot be used to recompute the scaling and placement operations necessary to evenly place tiles along a growing circle. A suitable construction method for circular tesselation patterns might also shed some light on how to generate Celtic spiral patterns. It may be interesting to note that in [Dre06], a method is suggested for generating a tiling of concentric rings of triangles, and from there spiral tilings, including the Frazer spiral. It might also work for circular Celtic patterns, as the basic idea is growing concentric rings of tiles outward from an Festschrift H.-J. Kreowski 14 / 16 potenuse. Consequently, these tiles do not have rotational symmetry with respect to path entry points at their sides, so that they have to be arranged differently to form entire patterns. The second class uses hook-like squares such as the four last squares in Figure 13, but some of the path entries may be sealed off. The reason for this can be seen in Figure 17: There are many long straight black lines that do not finish off by properly meeting with other black lines at each end. Of course, lengthening these lines at their ends requires the two neighbouring tiles which form the line end to agree. Moreover, the orientation of the tiles in hook patterns is not so uniform as in the key patterns considered in this paper. Next steps for future work may include implementing collage grammars for these ECEASST classes of key patterns, too. Fig. 17. Figure 17:Pseudo Pseudohook hookpattern pattern inner circle which is subdivided in a fan-like arrangement of triangles. This approach, however, cannotReferences be used to generate a truly circular outer border by further subdivision. In the illuminated pages of Celtic manuscripts, key patterns come with colour. Often, this just [All93] J. Romilly Allen. Celtic Art in Pagan and Christian Times. Bracken Books, entails giving a different London, colour 1993. to the paths than to the background, which can be achieved just like having white paths on a black background. Just asofoften, however, aConstable, sophisticated colouring [Bai51] George Bain. Celtic Art. The Methods Construction. London, 1951. scheme is used based on colour blocks in rectangular or lozenge shapes. How to add colour to [Bai90]in such IainaBain. Knotwork. Constable, London, 1990. as presented in [Dre06] key patterns way isCeltic an open problem, though colour operations [Bai93] Iain Bain. Celtic Key Patterns. Constable, London, 1993. might [DEKK03] allow simulating at least a simplified version of the original Celtic colour schemes. Frank Drewes, Sigrid Ewert, Renate Klempien-Hinrichs, and Hans-Jörg Finally, there are two classes of Celticraster key patterns for which we havegrammars. not yet devised Kreowski. Computing images from grid picture Jour- a collage grammar-based generation technique. The first class uses square tiles that are obtained from nal of Automata, Languages and Combinatorics, 8(3):499–519, 2003. basic triangles by reflection at the hypotenuse. Consequently, these tiles do not have rotational symmetry with respect to path entry points at their sides, so that they have to be arranged dif15 ferently to form entire patterns. The second class uses hook-like squares such as the four last squares in Figure 13, but some of the path entries may be sealed off. The reason for this can be seen in Figure 17: There are many long straight black lines that do not finish off by properly meeting with other black lines at each end. Of course, lengthening these lines at their ends requires the two neighbouring tiles which form the line end to agree. Moreover, the orientation of the tiles in hook patterns is not so uniform as in the key patterns considered in this paper. Further steps for future work may include designing collage grammars for these classes of key patterns as well. Bibliography [All93] J. R. Allen. Celtic Art in Pagan and Christian Times. Bracken Books, London, 1993. [Bai51] G. Bain. Celtic Art. The Methods of Construction. Constable, London, 1951. [Bai90] I. Bain. Celtic Knotwork. Constable, London, 1990. [Bai93] I. Bain. Celtic Key Patterns. Constable, London, 1993. 15 / 16 Volume 26 (2010) Generation of Celtic Key Patterns with Tree-based Collage Grammars [DEKK03] F. Drewes, S. Ewert, R. Klempien-Hinrichs, H.-J. Kreowski. Computing Raster Images from Grid Picture Grammars. Journal of Automata, Languages and Combinatorics 8(3):499–519, 2003. [DK99] F. Drewes, H.-J. Kreowski. Picture generation by collage grammars. In Ehrig et al. (eds.), Handbook of Graph Grammars and Computing by Graph Transformation, Vol. 2: Applications, Languages, and Tools. Chapter 11, pp. 397–457. World Scientific, 1999. [DK00] F. Drewes, R. Klempien-Hinrichs. Picking Knots from Trees – The Syntactic Structure of Celtic Knotwork. In Proc. 1st Intl. Conference on Theory and Application of Diagrams 2000. Lecture Notes in Artificial Intelligence 1889, pp. 89–104. Springer, 2000. [DKK03] F. Drewes, R. Klempien-Hinrichs, H.-J. Kreowski. Table-driven and contextsensitive collage languages. Journal of Automata, Languages and Combinatorics 8(1):5–24, 2003. [DKL03] F. Drewes, H.-J. Kreowski, D. Lapoire. Criteria to disprove context freeness of collage languages. Theoretical Computer Science 290:1445–1458, 2003. [Dre00] F. Drewes. Tree-Based Picture Generation. Theoretical Computer Science 246:1–51, 2000. [Dre06] F. Drewes. Grammatical Picture Generation – A Tree-Based Approach. Texts in Theoretical Computer Science. An EATCS Series. Springer, 2006. [HK91] A. Habel, H.-J. Kreowski. Collage Grammars. In Ehrig et al. (eds.), Proc. 4th Intl. Workshop on Graph Grammars and Their Application to Computer Science. Lecture Notes in Computer Science 532, pp. 411–429. 1991. [HKT93] A. Habel, H.-J. Kreowski, S. Taubenberger. Collages and Patterns Generated by Hyperedge Replacement. Languages of Design 1:125–145, 1993. [KRS97] L. Kari, G. Rozenberg, A. Salomaa. L Systems. In Rozenberg and Salomaa (eds.), Handbook of Formal Languages. Vol. I: Word, Language, Grammar. Chapter 5, pp. 253–328. Springer, 1997. [Mee02] A. Meehan. Maze Patterns. Thames & Hudson, London, 2002. [Slo95] A. Sloss. How to Draw Celtic Knotwork: A Practical Handbook. Blandford Press, 1995. [Slo97] A. Sloss. How to Draw Celtic Key Patterns: A Practical Handbook. Blandford Press, 1997. Festschrift H.-J. Kreowski 16 / 16