Mathematical Tools for Computer-Generated Ornamental Patterns Victor Ostromoukhov Ecole Polytechnique Fédérale, Lausanne, Switzerland Abstract. This article presents mathematical tools for computer-generated ornamental patterns, with a particular attention payed to Islamic patterns. The article shows how, starting from a photo or a sketch of an ornamental figure, the designer analyzes its structure and produces the analytical representation of the pattern. This analytical representation in turn is used to produce a drawing which is integrated into a computer-generated virtual scene. The mathematical tools for analysis of ornamental patterns consist of a subset of tools usually used in the mathematical theory of tilings such as planar symmetry groups and Cayley diagrams. A simple and intuitive step-by-step guide is provided. 1 Introduction It’s very common to see around us all kinds of ornamentations in form of repetitive patterns: floor tilings, wallpaper designs, ornamental brickwork or yet more patterns on our clothing. It was probably the Arabs, and more particularly the Moors, who developed the most acute sensitivity towards ornamental designs. The historical monuments left by the Moors are covered with intricate arabesques which are very often composed of geometrical patterns, floral motifs and stylish scripts [Abas&Salman 1995], [Hargittai 1986], [Hargittai 1989]. Translational Unit Computer-Generated Drawing Further Transformations Analysis ➤ Cayley Diagram Generation Analytical Represenation Photo or Sketch ➤ ➤ Fundamental Region With the advent of sophisticated computer graphics tools able to generate very complex virtual scenes, the need for computer-aided ornamental design becomes greater and greater. An appropriate integration of ornamental patterns into synthetic images means that these patterns are adequately represented and may be freely generated by means of a set of simple primitives. Figure 1 presents a typical workflow for producing computer-generated Islamic patterns. The first stage of the workflow enables the informal graphical material to be analyzed (hand-maid drawings, photos, sketches etc.) and an appropriate analytical representation to be built. Based on this analytical representation, a set of drawing procedures (primitives) is used to produce the infinite analytical drawing, which may go through further transformations before being integrated into a computer-generated virtual scene. A large number of articles and books has been devoted to the analysis of ornamental patterns and tilings [Grunbaum&Shephard 1987], [Washburn&Crowe 1988]. In a recent book [Abas&Salman 1995], a relatively simple and clear method for the analysis of Islamic geometrical patterns was presented. This method is based on the classification according to planar symmetry groups, very popular in the western scientific milieu. Another recent article [Grunbaum&Shephard 1993] explores the applicability of Cayley diagrams for analysis of the interlaced patterns in Islamic and Moorish art. This article limits the analysis to two particular symmetry groups: p4mm and p6mm, by far the most common in Moorish design. Although the group-theoretical approach is not unique, and has been criticized several times [Grunbaum 1986], it still represents a very useful analysis tool. In addition, such an instrument provides a good basis for computer-generated imagery: it defines the set of objects and the set of actions on these objects needed for manipulating arbitrary planar ornamental patterns. This article presents mathematical tools needed for the analysis as well as for the generation of two-dimensional ornamental patterns. In section 2 the basis of classification according to symmetry groups is presented. In section 3, we extent the analysis to Cayley diagrams. In section 4 we present the strand analysis applied to all 17 planar symmetry groups. Finally, section 5 contains a simple and intuitive step-by-step guide intended for persons who would like to incorporate an ornamental pattern into a computer-generated image. Although the explanation is provided for Islamic designs from well-known sources [Bourgoin 1879], it can easily be extended to other fields of application, such as floral ornamentation, abstract geometrical patterns and many others. 2 Symmetry Groups of two-dimensional patterns In Electronic Publishing, Artistic Imaging and Digital Typography , Lecture Notes in Computer Science 1375, Springer Verlag, pp. 193-223, 1998. Numbers measure size, groups measure symmetry... This enigmatic sentence opens the treatise on the subject [Armstrong 1988]. What is symmetry? Hundreds and thousands of articles and books are devoted to this subject with somehow fuzzy boundaries, trying to delimit the border between mathematics and art, between the exact scientific quantification and intuitive qualification, between the notions of measure and order. Webster gives us the following definition for Symmetry: 193 194 Fig. 1. A typical workflow for producing computer-generated Islamic patterns. Further transformations may include: interlacing, coloration, integration in a virtual scene, illumination, texture mapping etc. . 1: balanced proportions; also: beauty of form arising from balanced proportions 2: the property of being symmetrical; especially: correspondence in size, shape, and relative position of parts on opposite sides of a dividing line or median plane or about a center or axis -- compare BILATERAL SYMMETRY, RADIAL SYMMETRY 3: a rigid motion of a geometric figure that determines a one-to-one mapping onto itself 4: the property of remaining invariant under certain changes (as of orientation in space, of the sign of the electric charge, of parity, or of the direction of time flow) -- used of physical phenomena and of equations describing them All this is too vague to be used in algorithms. Instead, we shall use the mathematical notions, which are much more precise. The symmetry operations for the object, also referred to as isometries, are the rigid motions which leave the distances between different parts of the object unchanged. It can be shown that different symmetries of a figure or a pattern nicely match the mathematical notion of group [Armstrong 1988]. A group is a set G together with a multiplication on G which satisfies three axioms: notation in the last edition of the International Tables for Crystallography [Hahn 1995] (which is not identical to the notation of another widely-cited source: International Tables for X-Ray Crystallography [Henry&Lonsdale 1952]). An interesting historical review of different systems of notation can be found in [Shattschneider 1978]. Every periodic pattern may be associated to a lattice of points. The points of this lattice are inter-related by two translational vectors, V 1 and V 2, which leave the whole lattice unchanged under the operation of translation by a linear combination nV 1+mV 2, where n and m are integers. Consequently, any point in the repetitive pattern will remain unchanged under the same translation. This translational lattice is one of the basic characteristics of every symmetry group, and the smallest area of the repetitive pattern which remains unchanged under the translation by two translational vectors, V 1 and V 2 is called lattice unit or translational unit. Fig. 2 shows five principal types of lattice units. Parallelogramm (a) the multiplication is associative, that is (xy)z = x(yz) for any three elements of G, Rectangular Rhombic Square Hexagonal (b) there is an identity element e, such that xe = x = ex for every x in G, (c) each element x of G has an inverse x-1 which belongs to the set G and satisfies x-1x = e = xx-1. Many useful properties derived from the abstract group theory can be applied to artistic creations from different centuries. This analysis tool is very useful for understanding the relationship between different parts of repetitive patterns. As we shall see later, it is especially beneficial when manipulating the drawing by computers. The idea of the possibility of classification or ornamental patterns by means of symmetry groups was first suggested by Polya and further promoted by Speiser and Weyl [Grunbaum 1984], [Weyl 1952]. Satisfactory for many tasks of analysis, the group-theoretical approach shows its limitations when the authors tries to apply this analysis to all artistic production (see the discussion in [Grunbaum 1984]). In fact, the ancient artists and craftsmen did not know any group theory, and this “lack” did not diminish their creativity. For the purpose of computer-generated ornaments, the symmetry group analysis is a precious tool. As we shall see later, each symmetry group has its proper elementary object - fundamental region - and a set of elementary actions of this object which are needed in order to produce the whole pattern. It is precisely what is generally required for an algorithmic representation of visual objects: the set of elementary objects and the set of actions on them. 2.1 Classification of two-dimensional patterns There are five basic transformations which form the basis of any symmetry group [Armstrong 1988]: identity transformation (or do-nothing), translation, mirror-reflection, glide-reflection and rotation. There are seventeen planar symmetry groups [Shubnikov&Koptsik 1974], [Grunbaum&Shephard 1987], often referred to as two-dimensional crystallographic groups. Unfortunately, there is no unanimity with respect to their notation. We adopt here the 195 V2 V2 V2 V1 V1 V2 V1 V2 V1 V1 Fig. 2. Five types of lattices used for classification of two-dimensional symmetry groups. Notice the alternative representation by the “centered cell” containing two translational units, in the case of the rhombic lattice. Intuitively, one can find the lattice unit by looking for the “center” of any arbitrary “reference point” of each of the figures which form the repetitive pattern. Different sources propose different more-or-less complex methods for identifying the symmetry group to which a particular pattern belongs. One of the most compact and comprehensive ones has been proposed in [Abas&Salman 1995, p. 108]. This method can be resumed as a set of questions about the pattern (as graphically shown in Fig. 3): 1 - Is there rotational symmetry about some point and, if so, what is the smallest angle through which the pattern coincides with itself? 2 - Are there any mirror reflection lines? 3 - Are there mirror reflection lines in more than one direction? 4 - Are there any glide reflection lines? Do the glide reflection lines coincide with mirror reflection lines? Do centers of rotation lie on mirror reflection lines? Although it looks relatively easy and straightforward, this mode of identification requires acute observation and some skills, as recognized by its author. 196 6-fold symmetry? NO YES Mirror reflection? YES p6mm 4-fold symmetry? NO NO YES p6 Mirror reflection? YES NO Mirror lines in 4 directions? p4 YES p4mm NO 3-fold symmetry? NO YES 2-fold symmetry? Mirror reflection? YES NO YES p4gm NO p3 Centers of 3-fold Mirror reflection? rotation only on NO YES mirror lines? A second mirror? Glide reflection? NO YES p2mg Rhombic lattice? YES NO c2mm p2mm cm p2 c2gg NO YES Rhombic lattice? NO YES YES NO p31m YES p3m1 Mirror reflection? NO pm Glide reflection? YES pg NO p1 Fig. 3. Planar symmetry group selector. 3 Cayley diagrams and their practical usage Cayley diagrams are one of the most important graphical representations of groups. A Cayley diagram is a graph which shows the consecutive states of the identity element (mandatory element of the group) under a sequence of transformations (multiplications, in group-theoretical jargon). The vertices of the diagram are the consecutive states, and the edges of the diagram are the transformations. Cayley diagrams of the finite groups are finite, and those of infinite groups are infinite. For example, the Cayley diagram of the dihedral symmetry group D3 which describes the symmetry of a finite three-fold point-symmetrical figure with three mirror-reflection axes (symmetry group of the isosceles triangle) is presented in Fig. 4. Fig. 4. The Cayley diagram of the symmetry group of the isosceles triangle. Dihedral group D3 {e, r, r2, m, mr, mr2} m e r: clockwise rotation m: mirror-reflection r2 mr r mr 2 197 3.1 Cayley diagrams of symmetry groups of two-dimensional wallpaper patterns Cayley diagrams of symmetry groups of two-dimensional wallpaper patterns are more complicated. They represent an infinite graph which follows the structure of the pattern. The unit element e in these graphs is always the fundamental region of the symmetry group. Fig. A1(b)-A17(b) show the Cayley diagrams of each of seventeen symmetry groups of two-dimensional wallpaper patterns. In these Cayley diagrams, only the transformations which relate the adjacent fundamental regions are presented. Please note that in most cases, this representation is not the only one possible. Nevertheless, the diagrams shown in Fig. A1(b)-A17(b) show the minimal set of transformations needed to cover the whole plane. As illustration of the usage of Fig. A1(b)-A17(b), let us consider the pattern of the symmetry group p2mg as shown in Fig. A7. The fundamental region of this group is a rectangular region shaded in dark gray in Fig. A7(a) and A7(c). The fundamental region with an asymmetrical figure inside and the sides marked by lowercase letters a,b,c and d is shown in Fig. A7(d). Fig. A7(e) shows all possible relations between adjacent fundamental regions. The interrelations through the sides b and d of the fundamental region are translations; the interrelations through the sides a and a are twofold rotations; the interrelations through the sides c and c are mirror-reflection. Shown in Fig. A7(b) is the resulting Cayley diagram. Each fundamental region is associated with the node of the diagram, and all three types of relations between adjacent fundamental regions are shown using three different types of edges. This figure shows the relationship between the geometric structure of the pattern, namely its subdivision into fundamental regions, and the corresponding Cayley diagram. Imagine that we have a procedure for drawing the content of the fundamental region all graphical objects inside it. Now, in order to fill the whole plane with this fundamental region, using the selected symmetry group, one has to walk through the Cayley diagram following the edges and, each time the vertex is encountered, put another copy of the fundamental region, in appropriate form (translated, mirror-reflected, glidereflected or rotated). For further reading about Cayley diagrams you may refer to the books related to groups and symmetry [Armstrong 1988], [Budden 1972], [Grossman&Magnus 1964], [Farmer 1992]. 4 Strand analysis An interesting problem of strand analysis may occur when manipulating the strandbased patterns, very frequent in Muslim art. The revealing article by Grunbaum and Shephard [Grunbaum&Shephard1993] describes an original method of analysis using Cayley diagrams. Many important properties of the pattern can be derived from a simple analysis of its fundamental region. The article analyses only two symmetry groups: p4mm and p6mm. Let us recall some of the propositions of [Grunbaum&Shephard 1993]: • the pattern has n different strands, where n is the number of different tracks in the fundamental region (see the case study below) 198 • if the group element path in the Cayley diagram of one particular track in the fundamental region is finite, the corresponding strand in the pattern is finite (a loop). Inversely, infinite sequences correspond to infinite strands in the pattern (see the case study below) • the strands in the pattern have the same induced symmetry group as the corresponding group element paths in the Cayley diagram We shall show here how a very similar analysis can be applied to all seventeen symmetry groups of the wallpaper patterns. 4.1 Case study: the symmetry group p6mm We shall first consider a relatively simple case: a pattern which belongs to the symmetry group p6mm. For this case study, we shall consider the mosaic tilework from the courtyard of the Attarine Medeza, Fez. The outline representation of this pattern is shown in Fig. 5(a). Applying the classification presented in section 2.1, we can reliably conclude that this pattern belongs to the symmetry group p6mm. Its fundamental region is shown in Fig. 5(c). The Cayley diagram and interrelations between fundamental regions are presented in Fig. 5(b) (copied from Fig. A17) and Fig. 5(d), respectively. We can state that the fundamental region is related to its neighbors only by mirror-reflections. For this particular case, a simple strand analysis rule may be applied. The key idea of this method is that we first analyze the behavior of the strands in the fundamental region only, by applying simple fundamental region boundary traversal rules. Then, we transpose the sequence of fundamental region boundary traversals observed in the fundamental region to the Cayley diagram, where we draw the track of the specific strand, Finally, we apply the rules of correspondence between the Cayley diagram and the pattern itself which were mentioned in the previous section (cycling, number of strands etc.). All phases of this analysis may be meant to be taking place simultaneously: when the strand walks inside the fundamental region, we stay on the vertex of the Cayley diagram; at the same time we walk inside a small region – replica of the fundamental region – in the pattern itself. When we traverse the boundary of the fundamental region, we walk along an edge of the Cayley diagram, and at the same time we go to another small region in the pattern, adjacent to the previous one. Let us apply these principles: • we follow one particular strand in the fundamental region, e.g. the strand ABCDEF, in Fig. 5(a); • when the strand encounters the side of the fundamental region, it bounces, like at points B and D, Bouncing is one particular case of the fundamental region boundary traversal rules, applicable in the case of mirror-reflection from the boundary; • when we arrive at the end of the strand, we turn back and continue the track in the opposite direction: ABCDEFFEDCBABCDEFFEDCBA... 199 (a) b b c c a a c c b b aa aa b b c c a a c c b b aa aa aa cc cc b b c c a a c c aa aa b b c c a a c c bb bb b b aa aa b b b b cc cc aa aa b b b b c c a a c c b b c c a a c c bb bb b b aa aa b b cc cc b b c c a a c c aa aa b b c c a a c c bb bb b b aa b b cc aa aa aa cc cc b b c c a a c c aa aa b b c c a a c c bb bb b b aa aa b b b b cc cc aa aa b b b b c c a a c c b b c c a a c c bb bb b b aa aa b b cc cc b b c c a a c c aa aa b b c c a a c c bb bb b b aa b b cc aa aa aa cc cc b b c c a a c c aa aa c c a a c c bb b b aa aa b b b b cc cc c aa aa b b (b) c bb a a (d) a b b c b b bb c c a a c c a c c a a b a c b B a F c c a a c c (c) Fundamental J Region c a M a L b KI N A H O E G Q P C D Fig. 5. (a) Schematic representation of the mosaic tilework from the courtyard of the Attarine Medeza, Fez, (b) its Cayley diagram, (c) its fundamental region and (d) three possible interrelations between fundamental regions. 200 R • we mark the track on the Cayley diagram: when the strand walks inside the fundamental region, we stay at the vertex of the Cayley diagram; when the strand touches the side of the fundamental region, we move through the corresponding edge of the Cayley diagram. For example, the strand ABCDEFFEDCBA... will generate the following sequence on the Cayley diagram: bb,V,cc,V,aa,V,cc,V,aa,V,cc,V,bb... where V stands for vertex, aa - walking along the edge marked as aa etc. This particular strand in the fundamental region and the corresponding track in the Cayley diagram are shown as a heavy dashed line in Fig. 5(c) and in Fig. 5(b). The corresponding strand in the pattern itself has been equally shown as a bold dashed line in Fig. 5(a). The track in the Cayley diagram is an infinite periodic figure, consequently the corresponding strand in the pattern is infinite and periodic. One may draw 12 distinct tracks in the Cayley diagram which all correspond to the same walk in the fundamental region, therefore there are 12 distinct strands in the pattern, all related by the rules of the induced symmetry group. Refer to Fig. A17(a) to see all mirror reflection axes and all centers of rotations. Finally, a very similar analysis may be applied to the strand GHIJKLMNOPQRG... This strand is a cycle inside the fundamental region; nevertheless, it is an open infinite periodic track in the Cayley diagram and, consequently, an infinite periodic strand in the pattern. This second strand, as well as the corresponding track in the Cayley diagram, is shown as a heavy solid line in Fig. 5(a), (b) and (c). Similarly, there are 12 distinct strands of this type, all related by the rules of the induced symmetry group. According to the proposition in [Grunbaum&Shephard 1993], the pattern in Fig. 5(a) is composed uniquely of these two families of 12 strands each. In can easily be noticed that the same method works in case of symmetry group p4mm (as explained in [Grunbaum&Shephard 1993]), as well as for symmetry groups p2mm and p3m1. In all four cases the fundamental region is related to the adjacent fundamental regions uniquely by mirror-reflections (we can refer to these four cases as mirrorreflections-only symmetries). In the fourteen symmetry groups other than the mentioned p6mm, p4mm, p2mm and p3m1, the edges of Cayley diagrams may be labeled by the combination of two different letters such as ac or bd. Accordingly, the bouncing operation from the sides of the fundamental region in the case of mirror-reflections-only symmetries can be replaced by the operation of “fundamental region sides traversal”. The correspondence between the operation of “fundamental region sides traversal” operated on an isolated fundamental region can be related to the corresponding operation of walking along the corresponding edge in the Cayley diagram. It is important to underline that every side of every fundamental region meets the other sides of the adjacent fundamental regions in a unique combination. Therefore, when side x of a fundamental region is traversed and we reach the adjacent fundamental region through its side y, this operation corresponds to walking along the edge xy in the Cayley diagram, which can clearly be identified. The only complication with respect to the case of mirror-reflections-only symmetries resides in the less-intuitive continuity condition of the strands with respect to the operation of “fundamental region sides traversal” (bouncing in the case of mirror-reflections-only symmetries). Fig. 6 summarizes the behavior of different strands during the fundamental region sides traversal for six different types of interrelations between fundamental units which may occur in the planar symmetry groups. c 201 b ❶❸❷ ❶ ❸❷ d b c c a c bd ❶ ❷❸ ❶ ❷❸ d b ❷ ❸ ❶ b d ❸ ❷ ❶ a c a a c b a d ❶❸ ❷ c ❶ dd 4.2 Extension of the strand analysis to all 17 planar symmetry groups Before starting to extend the method explained in the previous section to the rest of symmetry groups of the wallpaper patterns, let us once more examine Fig. 5(b) and (c). It can be observed that the bouncing of the strand from the side a of the fundamental region in Fig. 5(c), as explained previously, corresponds to the walk in the Cayley diagram along the edge marked as aa. The same is valid for bouncing from the sides b and c (correspondingly walks along the edges bb and cc). Edges of Cayley diagrams are marked by double-letters since they cross two boundaries: we join the “centers” of each fundamental region to all adjacent fundamental regions, as it can be clearly visible in Figs. A1(b) to A17(b). d b d a c a b b ❷ ❶ c ❷ ❸ ❶ a d ❶ ❷ ❶ ❷❸ ❸ ❷ ❶ d a b a d c ❶a a b c b c Translation between fundamental regions Glide-reflection between fundamental regions Mirror-reflection between fundamental regions 2-fold rotation between fundamental regions 3-fold rotation between fundamental regions 4-fold rotation between fundamental regions Fig. 6. The strand continuity condition during the fundamental region sides traversal for six different types of interrelations between fundamental units which may occur in the planar symmetry groups. 4.3 Case study: the symmetry group c2mm Let us consider another case study: the Islamic pattern taken from [Bourgoin 1879, plate 97]. Its outline representation is shown in Fig. 7(a). This belongs to the symmetry 202 group c2mm, according to the classification presented in section 2.1 Its fundamental region is shown in Fig. 7(c), and its Cayley diagram – in Fig. 7(b). Fig. 7(d) illustrates interrelations between fundamental regions. The fundamental region is related to its neighbors by two types of relations: by mirror-reflections about the sides a, b and d, and by two-fold rotation about the center of the side c. Consequently, the fundamental region boundary traversal rule by bouncing presented in section 4.1 should be replaced by a more elaborate rule chosen from the six rules presented in the previous section. (a) Fundamental Region O c A E P N B (c) M R Q F H L S X d W G b C Y U T K I a D V J a center of two-fold rotation between two b fundamental regions ❷ d ❶ ❶ ❸ (b) c c c c c c bb c c bb a a a a dd c c bb a a a a a a a a c c c c c c bb dd a a a a d a a a a c c d bb c c c c (d) a c c d b c c a a dd bb c c a b c c bb bb c c a a dd c c dd bb c c a a bb c c dd dd bb a a bb dd dd c c c c bb dd dd a a bb c c b b dd bb c c d c c bb dd bb c c c c dd a a ❷ d c c bb a a a a bb c c dd a a dd c c a a c c dd a a a a bb c c bb dd d a a dd bb c c bb a a a a ❸ ❶ ❶ bb dd bb c c c c c dd a a dd c c c c dd a a dd bb c c bb dd a a c c c c bb dd a a c c b d 2-fold rotation between fundamental regions a Fig. 7. (a) Islamic pattern from [Bourgoin 1879, plate 97] (b) its Cayley diagram, (c) its fundamental region and (d) interrelations between two fundamental regions through the side c (two-fold rotation about the center of the side); the above figure shows the strand labeling on this boundary. 203 5 Step-by-step Guide Let us summarize the material presented in the previous sections in the form of a stepby-step guide, intended for a person who would like to incorporate an ornamental pattern into a computer-generated image. c c c Let us develop the strand analysis for this particular case: • Let us follow the strand ABCD in the fundamental region. When the strand ABCD encounters the side a of the fundamental region, it bounces and turns back, like at point D. • When the strand ABCD encounters the side c of the fundamental region, it simply turns back. It is due to the fact that the center of the two-fold rotation is precisely at point A, the center of the side c, as shown in Fig. 5(d). • The strand AEFGHIJKLMNO in Fig. 5(c) bounces from the sides b (point G), a (point J) and d (point M), before arriving at point O on the side c, where the fundamental region boundary traversal rule of type “two-fold rotation about the center of the side c” should be applied. At point O, the strand traverses the boundary between fundamental regions and continues at point P; the strand marked as ❶ in Fig. 5(d). Then, the strand PQRSTUV bounces from the sides d before arriving at point V (corner), where it bounces from both sides b and a. The strand returns back and continues in the opposite direction: VUTSRQPONMLKJIHGFEA... • Finally, the strand WXY bounces from sides b and d. • These three different strands ABCD, AEFGHIJKLMNOPQRSTUV and WXY in the fundamental region are shown as a dashed bold line, a bold line and a dotted bold line. Their tracks in the Cayley diagram are marked by the same styles, as well as the corresponding strands in the pattern itself. • From our analysis, we can conclude that our pattern contains three different types of strands shown in Fig. 5(a). Given: a sketch of a photo of a planar ornamental pattern. Find: all information needed to integrate this pattern into a computer system. Phase I: Analysis Step 1: Find the translational unit. Look for the “center” of any arbitrary “reference point” of each figure which forms the repetitive pattern. Check that this unit is minimal. It’s common to select the double of the translational unit, which may introduce an erroneous analysis. Step 2: Define to which symmetry group among the seventeen available twodimensional crystallographic groups your pattern belongs. Use the questionnaire presented below. Step 3: Identify the fundamental region and the Cayley diagram associated with this symmetry group, using Figures A1- A17. It may be useful to redraw separately the fundamental region of your particular pattern, marking all details, as shown in Fig. 5. 204 Step 4: In certain cases, patterns may contain significant continuity between the fundamental regions, e.g. strand-based Islamic patterns. In these cases, the strand analysis may be applied. Refer to Figs. A1(e) - A17(e) for the schemes of interrelations between fundamental regions and to Fig. 6 for the strand continuity condition. Follow the analysis presented in section 4 Strand analysis. Generation Step 5: Implement the primitive DrawFR() which puts inside the fundamental region all graphical information in a conventional format that may subsequently be transformed by the primitives in step 6. scenes. For reasons of space, the subject of frieze symmetries has been deliberately left out of scope of this article. We used Islamic patterns to illustrate the presented analysis concepts and techniques. Nevertheless, the same analysis, or a very similar one, may be used in other fields of application, such as floral ornamentation, abstract geometrical patterns and many others. Phase II: Step 6: According to the symmetry group of your pattern, implement the needed primitives among the six possible: References 1. [Abas&Salman 1995] S.J. Abas & A.S. Salman, Symmetries of Islamic Geometrical Patterns, World Scientific, 1995 2. [Armstrong 1988] M.A. Armstrong, Groups and Symmetry, Springer Verlag, 1988. 3. [Bourgoin 1879] J. Bourgoin, Elements de l'art arabe, Fermin-Didot, Paris, 1879. Reprint available: Arabic Geometrical Pattern and Design, Dover, 1974. TranslateFR() MirrorReflectFR() 4. [Budden 1972] F.J. Budden, The Fascination of Groups, Cambridge University Press, 1972. GlideReflectFR() 5. [Emmer 1993] M. Emmer (ed.), The Visual mind: art and mathematics, MIT Press, 1993. Rotate2FoldFR() 6. [Farmer 1996] D.W. Farmer, Groups and symmetry: a guide to discovering mathematics, Providence, AMS, 1996. Rotate3FoldFR() Rotate4FoldFR() Step 7: Following the Cayley diagram of the symmetry group of your pattern (refer to Figs. A1(b) - A17(b)), implement the cycle which passes by all the nodes of the diagram and which applies the needed primitives of the step 6 on the edges of the diagram. This operation fills the whole plane with your pattern (the parameters of the cycle delimit the spread). Phase III: Further transformation Steps 8++: If needed, further transformations may be applied: interlacing, coloration, illumination, texture mapping etc. Attention: this analysis does not include seven one-dimensional symmetry groups (also known as frieze groups) or 230 three-dimensional symmetry groups (usually referred to as three-dimensional crystallographic groups). 7. [Grossman&Magnus 1964] I. Grossman & W. Magnus, Groups and their Graphs, The Mathematical Association of America, 1964. 8. [Grunbaum 1984] B. Grünbaum, The Emperor's New Clothes: Full Regalia, G string, or Nothing, The Mathematical Intelligencer, Vol. 6, No. 4, pp. 47-53, 1984. 9. [Grunbaum&Shephard 1987] B. Grünbaum, G. C. Shephard, Tilings and Patterns, W. H. Freeman and company, New York, 1987. 10. [Grunbaum&Shephard 1993] B. Grünbaum, G. C. Shephard, Interlaced Patterns in Islamic and Moorish Art, in [Emmer 1993], pp. 147-155. 11. [Hahn 1995] T. Hahn (ed.), International Tables for Crystallography, Fourth Edition, Vol. A, Reidl Publishing Co., 1995. 12. [Hargittai 1986] I. Hargittai (ed.), Symmetry, Pergamon Press, 1986. 13. [Hargittai 1989] I. Hargittai (ed.), Symmetry 2, Pergamon Press, 1989. 6 Conclusions This article summarizes different techniques for analyzing the symmetry of ornamental patterns dispersed through the vast literature in the fields of crystallography, chemistry, mathematics and history of art. Certain aspects of this analysis, such as the classification according to planar symmetry groups, are relatively well-known and largely used. Other analysis tools, such as Cayley diagrams and representation by fundamental regions, are less known, and deserve a broader diffusion. We re-explain certain basic techniques introduced in [Grunbaum&Shephard 1993] and [Abas&Salman 1995]. The original contribution of this article resides in the extension of the strand analysis using Cayley diagrams to all 17 planar symmetry groups. We provide a simple and intuitive step-by-step guide intended for computer graphics persons who would like to incorporate ornamental patterns into artificial images and 205 14. [Henry&Lonsdale 1952] N.F.M. Henry & K. Lonsdale (eds.), International Tables for X-Ray Crystallography, Vol. 1, Kynock Press, 1952. 15. [Shubnikov&Koptsik 1974] A. V. Shubnikov, V. A Koptsik, Symmetry in science and art, Plenum Press, New York, 1974. 16. [Schattschneider 1978] D. Schattschneider, The Plane Symmetry Groups: Their Recognition and Notation, Amer. Math. Monthly, Vol. 85, pp.439 - 450, 1978. 17. [Washburn &Crowe 1988] D.K. Washburn & D.W. Crowe, Symmetries of culture: theory and practice of plane pattern, Donald W. Crow, Seattle: University of Washington Press, 1988. 18. [Weyl 1952] H. Weyl, Symmetry, Princeton University Press, 1952. 206 Appendix A FIG. A2(a) Symmetry group p2 FIG. A1(a) Symmetry group p1 Center of 2-fold rotation (b) Cayley diagram (b) Cayley diagram bd bd a c bb bd a c a c a c bd bd Translation between fundamental regions a c c a dd bd a c bb dd a c a c a c c a Translation between fundamental regions a c c a bb dd bb dd a c c a bb c a a c bb dd 2-fold rotation between fundamental regions bb dd a c c a c a c bd bd bd a c bb dd bb dd b d b d a c bb dd c a c a c a c c a a c c a c a a c a c bd bd bd dd b d bb bb dd a a c c c b d a c bd d b a (c) Translational unit (d) Fundamental region 207 a (e) Relationship between adjacent fundamental regions c a c b d dd b a b d bb dd b d bb d a (c) Translational unit (d) Fundamental region c a a c (e) Relationship between adjacent fundamental regions 208 FIG. A4(a) Symmetry group pg FIG. A3(a) Symmetry group pm Mirror-reflection axis Glide-reflection axis (b) Cayley diagram bd (b) Cayley diagram bd bd a a bd a a c c c c a a bd a c bd Translation between fundamental regions a c Glide-reflection between fundamental regions bd bd b bd d bd bd bd bd bd b d bd c a a c a c c a d d c c d (d) Fundamental region 209 d d b b c bd a a c a c b a a b b c c b d a c c a a bd d c b b c c a c c a a a a a bd a c c a c c c a a (c) Translational unit c a bd a c c a bd c c bd c a bd a a bd a c bd bd bd c a Translation between fundamental regions bd bd bd Mirror-reflection between fundamental regions d bd b b a (e) Relationship between adjacent fundamental regions a (c) Translational unit a (d) Fundamental region 210 c a (e) Relationship between adjacent fundamental regions FIG. A6(a) Symmetry group p2mm FIG. A5(a) Symmetry group cm Mirror-reflection axis Center of 2-fold rotation lying on a mirror-reflection axis Mirror-reflection axis Glide-reflection axis (b) Cayley diagram bb (b) Cayley diagram bd bd bd bd a a bd a a c c bd bd bd bd bd a a bd a a a a c c bd bd bd a a c c bd bd b a a c c a a a a dd dd b bb c c c c c c c c c c a a a a b dd a c c c (c) Translational unit 211 a c d c (e) Relationship between adjacent fundamental regions a c b b a b d d a (d) Fundamental region 212 a a bb d a (c) Translational unit d a c bd d a c b dd a c c b b b d b bb d (d) Fundamental region c c a a dd bb b b bd d b dd a a dd d c d b dd a a a bb dd a a a a a c c bd bd a a bb c b dd bb d bd c c c c bb dd b a a c c bd a a c c b c c dd b bd dd bb a a a a bb c c d b a a dd dd c c c bd bd a a a a a a bb c c Mirror-reflection between fundamental regions dd a a dd a a b c c bd c c a a c c a a c c b dd a a Glide-reflection between fundamental regions bd a a c c c c c c b bd a a a a a a bd bd c c Mirror-reflection between fundamental regions b c c bd bb dd b a (e) Relationship between adjacent fundamental regions c FIG. A7(a) Symmetry group p2mg FIG. A8(a) Symmetry group p2gg Mirror-reflection axis Glide-reflection axis Glide-reflection axis Center of 2-fold rotation Center of 2-fold rotation (b) Cayley diagram c c bd bd a a db c c db db c c bd db bd db bd db c c a c bd a c bd a c c a db d b a c c a c bd b bd a c d a c c a db a c db db db d b d a a b bd a c c a db c a c c a bd c d db a c c a db a c c a db bd bd b bd c a a c c a bd c a d a c c a c c a a db db bd bd a c c a db db db c c d a c db Glide-reflection between fundamental regions bd c a db c c a a a c c a c a b bd db a a bd c c bd db bd bd c c db a a Translation between fundamental regions bd a a c c db bd c c a a bd Mirror-reflection between fundamental regions db a a bd c c bd db c c db a a bd 2-fold rotation between fundamental regions bd a a c c db (b) Cayley diagram c c b d a c b a d a b a b (d) Fundamental region d c d bd (e) Relationship between adjacent fundamental regions (c) Translational unit 213 d d a bd b c a a c c c c a b (c) Translational unit (d) Fundamental region 214 b a c (e) Relationship between adjacent fundamental regions FIG. A10(a) Symmetry group p4 FIG. A9(a) Symmetry group c2mm Mirror-reflection axis Mirror-reflection axis Glide-reflection axis Glide-reflection axis Center of 2-fold rotation Center of 2-fold rotation lying on a mirror-reflection axis Center of 4-fold rotation Center of 2-fold rotation (b) Cayley diagram (b) Cayley diagram c c bb a a c c dd c c bb c c a a dd c c c c c c bb a a bb bb c c c c bb a a dd c c a a dd c c bb c c b b b b a d c ad ad a d d a da cb b c bc a d d a c b b c ad da a a cb c b bc ad c b bc d a da cb b c a d d a da c b b c a d d d c c c c da c b ad a d d a cb d d d a a bb c c bb c c bb a a dd a b a a dd c c da ad a d d a b c bc ad a d c b b c bc ad d c c da cb c b b c bc d dd a a dd a a bb bb da 4-fold rotation between fundamental regions a d d a cb c b b c ad a d d a da c b d a a a bb c c ad a d d a da b c c bb a a dd c c dd a a dd a a bb bb dd a a bb c c c c 2-fold rotation between fundamental regions b a a dd a d d a bc ad cb c c dd a a bb c c bb a a dd c c dd a a c c bb d bc ad Mirror-reflection between fundamental regions d a a bb c c a a dd dd a a c c b c c bb a a dd dd a a bb c c bb a a bb a a c c dd a a bb c c bb c c bb a a dd dd a a c c dd a a bb c c bb c c bc b a d d a da d a d da cb cb a c b c b c b c d c (d) Fundamental region c b c a 215 b a b d (c) Translational unit c dd a c bb a a d d (e) Relationship between adjacent fundamental regions a d a (c) Translational unit b bc a (d) Fundamental region 216 d (e) Relationship between adjacent fundamental regions FIG. A12(a) Symmetry group p4gm FIG. A11(a) Symmetry group p4mm Mirror-reflection axis Mirror-reflection axis Glide-reflection axis Glide-reflection axis Center of 2-fold rotation lying on a mirror-reflection axis Center of 2-fold rotation lying on a mirror-reflection axis Center of 4-fold rotation lying on a mirror-reflection axis Center of 4-fold rotation (b) Cayley diagram (b) Cayley diagram cc cc aa cc cc aa bb a a a a cc cc aa b b cc a a cc b b cc aa b b cc aa cc a a cc b b cc cc aa cc cc aa cc aa cc a a aa cc bb cc aa cc aa cc ac bb ca c a b b bb cc aa bb bb cc ac b b cc aa cc cc aa cc cc aa a a a bb cc a a c c b c bb bb ac bb ac bb bb bb ca bb ca ac ac bb bb bb ca bb ca bb bb bb ac ca bb bb ca bb ac bb ac bb ac bb bb ac ca bb bb b a (c) Translational unit (d) Fundamental region 217 c a bb c c ac bb ca bb a c bb bb bb 4-fold rotation between fundamental regions a c ac bb a c c a ca Mirror-reflection between fundamental regions bb a c bb ca bb c b a a c ca c a ac bb a c c a a c ca ac c a a c c a ca ca a c ca bb c a a c c a bb ac a c c a a c ca bb c a a c ac ac c a a c c a ca bb ac a c c a bb bb a c c a a c ca ac c a a c c a bb a cc aa bb b bb a a ca c a b b ca a c cc aa bb bb c a a c c a a a bb ac a c c a cc aa a a b b a a bb cc cc a a cc cc a a Mirror-reflection between fundamental regions a a b b bb a a bb cc aa b b cc a a b b a a bb bb cc aa bb b b bb a a cc aa cc a a b b cc cc bb b b aa a a b b cc aa a a bb a a bb cc bb b b bb a a cc aa bb a a bb cc c b c a (e) Relationship between adjacent fundamental regions (c) Translational unit c b a (d) Fundamental region 218 b a b a b a c a b (e) Relationship between adjacent fundamental regions FIG. A14(a) Symmetry group p3m1 FIG. A13(a) Symmetry group p3 Mirror-reflection axis Center of 3-fold rotation Glide-reflection axis Center of 3-fold rotation lying on a mirror-reflection axis b (b) Cayley diagram ab ab ab ab cd c d cd c d cd c d cd b a a b b a a b b a a b b a dc dc ab dc ab c d a b c d c d a b b a dc cc b b ab ab cd c d cd c d cd c d cd b a a b b a a b b a a b b a dc dc ab dc c aa b b b b cc c c b b a a c c c c b b b a a a c c b aa c c bb a a cc bb a a cc b b aa c c bb a a cc a a cc b b aa c c bb a a a a a aa b b b b b b aa b b cc b b aa a c d b b b ab d 219 c c b b aa a a d a (d) Fundamental region a a cc a a c c bb aa b b Mirror-reflection between fundamental regions a c c d b b b b bb a a cc aa c c a b b (c) Translational unit a b ab c c c bb c c b dc dc ab a a b cc a a c c b aa c c bb b b a a b a a cc c c b b aa c c b b aa a a c c bb a ab bb a a a a c c b aa c c bb b b (b) Cayley diagram b a a cc c c dc ab c c b b aa a b b a dc ab a a c d cd c c b ab cd a b b a dc dc ab cd 3-fold rotation between fundamental regions b aa a c b b aa c c c (e) Relationship between fundamental regions (c) Translational unit (d) Fundamental region 220 (e) Relationship between adjacent fundamental regions FIG. A15(a) Symmetry group p31m FIG. A16(a) Symmetry group p6 Mirror-reflection axis Center of 2-fold rotation Glide-reflection axis Center of 3-fold rotation Center of 3-fold rotation Center of 6-fold rotation Center of 3-fold rotation lying on a mirror-reflection axis (b) Cayley diagram cb a c b cb a a c b cb aa c b cb aa c b cb aa cb c b aa cb cb c b aa cb b c c b c b aa aa cb cb aa b a cb aa cb b (d) Fundamental region 221 aa aa aa c a a bc aa c b aa c b aa bc c b b c bc bc cb aa bc aa bc aa b c aa c b bc c b b c aa bc c b b c cb aa bc aa bc 3-fold rotation between fundamental regions cb a a aa c b bc c b b c cb aa bc c b a a aa cb aa c b bc aa b cb c a b c c a b (e) Relationship between adjacent fundamental regions aa c b a a cb bc a a a a aa aa c b b c c b cb cb a a c b cb bc c b bc c b bc aa a a c b cb cb 2-fold rotation between fundamental regions c b bc a a c b cb cb a a b c c (c) Translational unit bc cb a a c b b c c c a a bc c b bc a a a a aa a a bc c b bc bc cb c b bc c b c b bc b c aa bc a a a a cb cb bc c b bc b c aa c b cb aa 3-fold rotation between fundamental regions cb aa a a a a c b bc aa cb bc cb aa c b a a aa aa b c cb bc b c c b cb c b c b Mirror-reflection between fundamental regions a a a a b c (b) Cayley diagram cb c b bc bc aa cb bc a a c b a a a bc aa cb bc cb cb c b bc a a bc cb a c b bc (c) Translational unit a a b b (d) Fundamental region 222 a c b b c (e) Relationship between adjacent fundamental regions FIG. A17(a) Symmetry group p6mm Mirror-reflection axis Glide-reflection axis Center of 2-fold rotation lying on a mirror-reflection axis Center of 3-fold rotation lying on a mirror-reflection axis Center of 6-fold rotation lying on a mirror-reflection axis (b) Cayley diagram b b b c c a a c c bb bb b b b cc cc aa aa b b b c c a a c c bb bb b b b cc aa aa aa cc cc b b c c a a c c aa aa b b c c a a c c bb bb b b aa aa b b b b cc cc aa aa b b b b c c a a c c b b c c a a c c bb bb b b aa aa b b cc cc b b c c a a c c aa aa b b c c a a c c bb bb b b aa b b cc aa aa aa cc cc b b c c a a c c b b c c a a c c b b b b cc cc aa aa b b b b c c a a c c bb bb b b b b bb aa c c a a c c aa bb aa b b aa aa aa b b cc cc b b c c a a c c aa aa b b c c a a c c bb bb b b aa b b cc aa aa cc b b bb aa aa b b cc aa aa cc b b c a (c) Translational unit c c a a c c bb b b aa aa cc b b c c a a c c aa b b b (d) Fundamental region 223 b b c c a a c c b b c c a a c c bb bb b b aa aa b b cc cc b b c c a a c c aa aa b b c c a a c c bb bb b b aa b b cc aa cc aa aa Mirror-reflection between fundamental regions cc b b c c a a c c b bb b b b cc aa aa cc b b c a b c a a c bb a b b b b b c c a c a (e) Relationship between adjacent fundamental regions b