The Art of Iterated Function Systems With Expanding Functions
Year: 2009 Authors: Philip Van Loocke
Core claim
Expanding-function iterated systems can produce aesthetically rich images when the plane is carefully partitioned and colored through inverse-distance trap measures.
Topics
iterated function systems, fractal image generation, inverse techniques, origami rendering
Domains
dynamical systems, fractal geometry, linear transformations, inverse mappings, generative art, visual texture design, origami, pattern creation
Methods
piecewise linear iteration, inverse function technique, distance-based colormap, geometric partitioning
Media
plane regions, hexadecagon, square trap points, digital rendering
Paper text
The text below is the locally extracted OCR/Markdown version of the paper. Raw PDF files remain local and are not published here.
Bridges 2009: Mathematics, Music, Art, Architecture, Culture
The Art of Iterated Function Systems With Expanding Functions
Philip Van Loocke Rectorate University of Ghent Sint-Pietersnieuwstraat 25 9000 Gent, Belgium E-mail:philip.vanloocke@ugent.be
Abstract
Iterated function systems with contracting functions have been widely applied in contexts relating art and science. This paper explores iterated function systems which consist of expanding linear functions. An area in the plane is divided in parts which are defined implicitly by an inverse function technique. With each part, an expanding function is associated. A coloring technique is proposed which yields textures suggestive of sophisticated patterns of depth and light. It is briefly described how a rendering technique for recurrent origami can be obtained as a special case of this method.
Introduction
Iterated function systems defined by contracting functions are a familiar tool among researchers bridging art and science. Such systems yield compact codes for a large variety of images, which can be generated at any desired resolution. This paper describes a fractal image creation technique based on iterated function systems with expanding functions. The method is based on an inverse technique for iterated function systems consisting of two linear holomorphic functions [1]. It is described in this paper in a geometric way. I briefly explain how a rendering technique for recurrent origami can be obtained as a special case of this method.
Suppose that an iterated function system is defined by functions ( ). In the classical treatment all functions need to be contracting in all directions (see for instance chapter seven in [2] for a formal specification of this constraint). I call a function ‘expanding’ if its inverse is contracting. Function systems with linear expanding functions have been considered in the context of inverse techniques. In the early nineties Prusinkiewicz formulated such a technique which allows one to color the complement of attractors [3]. I confine myself to an informal description. Suppose that is a point on the outside of the attractor of . Let be a contour which encloses the attractor. Consider compositions of inverse functions with . Since the inverse functions are expanding, each composition of sufficient length will map onto a point on the outside of . Consider the composition for which travels the longest path inside before bailing out. The length of this path associates a number with which can be transformed into one or three color values.
This type of inverse technique has one advantage. The color of a point is determined by an algorithm that takes this point as argument. In the direct method, one has to wait and see if the chaos game lands on the corresponding pixel until one knows if is given a colour value (and if so, wait longer until a relative frequency of pixel visitation can be reliably determined). In this sense, an inverse technique acts like the usual method for coloring points of non-linear escape fractals. But there are two drawbacks. First, in contrast with the latter, the inverse technique needs calculation of many trajectories in . The number of trajectories required increases combinatorially with , which makes this method in most cases practically
55
Van Loocke
unfeasible if is larger than 2. Second, it only colors the complement of attractors. There are many situations in which the attractors themselves, and the fractal textures defined on them, are visually interesting objects. In this paper I present a geometric formulation of a different inverse technique, which solves both problems. First I formulate it in a general way. Then I describe two ways in which it can be specified.
Iterated function systems with expanding functions
The basic concepts of the present method are illustrated in Figure 1. Let be an area in the plane. are disjoint subsets of . Let be the set defined by . Note that . I confine the illustrations to the case in which is a strict part of . With each subset , an expanding linear function is associated which maps onto , which is assumed to be a subset of as well. Consider the function which is defined by if (). The algorithm considered in this paper defines for each point a series of points . The first point is initialized by . Then, is defined by . If , . Else, if , the algorithm terminates. This process is iterated. If , , else the algorithm halts. If the algorithm terminates at step with t < N, a series of points is constructed by adding times the origin to .
In the two last illustrations of next section, the algorithm is made slightly more sophisticated. Suppose that at iteration a point is produced. Then the algorithm continues but is replaced by . For this modification, also points in the complement of (and hence points in the complement of ) can be processed and lead to a series . Since is contracting, features in the inside of reappear in magnified version in the complement of .
The sequence is turned into a color value as follows: points are selected in the plane (these are allowed to be in but do not have to). For each point in the series , the distance to all points is calculated (). The inverses of the distances associated with are normalized to one, yielding coefficients . Then, with each point a quantity is associated in accordance with
where is a constant which was put to in the illustrations which follow. These quantities are linearly combined into :
where () are fixed coefficients. (Exploration of expressions with non-linear combinations, such as combinations of squares of , can be aesthetically rewarding as well). After has been calculated for each point , it is normalized between zero and one, and next it is turned into three color values by a colormap. In all illustrations in this paper, four points are used, which are located at the vertices of a square with center at the origin, and which is a scaled version of the unit square. Informally, the points define neighbourhoods which act as traps. The weight of trap is a function of the inverse distance
56
The Art of Iterated Function Systems with Expanding Functions
between and the defining point of the trap (which is expressed by ), and different traps contribute in different ways to the quantity onto which the colormap is applied (which is expressed by ).
Illustrations for the square
In the first specification of the general concepts, I use an iterated rotation technique to divide into disjoint subsets . In Figure 1, is the unit square with center at the origin. is a smaller square with side and four sets are defined by:
S_{1} = \{(x,y) \mid (x > -b) \& (x < a) \& (y > -a) \& (y < b)\}
S_{2} = \{(x,y) \mid (x > -b) \& (x < a) \& (y > b) \& (y < a)\}
S_{3} = \{(x,y) \mid (x > -a) \& (x < -b) \& (y > -b) \& (y < a)\}
S_{4} = \{(x,y) \mid (x > -a) \& (x < -b) \& (y > -a) \& (y < -b)\}
with b < a . Similar partitions for the other regular polygons are obtained in a straightforward way (below this is illustrated for the octagon). In case of a square, a scaling is applied onto with center in the lower right vertex of , which results in . Then, ( ) is the part of which is not included in and which, after rotation around the origin with angle , overlaps with . In Figure 4 this procedure is applied to the octagon, but ( ) was obtained for rotation of the reduced octagon with different angles. Variation of these rotation angles, and the resulting variation in the definition of , is one way to find aesthetically relevant variations of images.
Figure 1: Left: Partition of subset of into four parts . Right: Image of the parts after application of (the images of and are identical and include the image of )
There are different ways to define the functions , but the most natural strategy is to relate with the way in which the partition of into the sets was obtained. If these sets are obtained by iterated rotation, the simplest strategy is to dissect the action of into three steps. I specify the procedure for the case of a square set , but the generalization for other regular polygons is straightforward. Consider a point . First is rotated around the origin with angle , so that the resulting point, which is denoted , is in (points in are left unmodified by this step). The second step is the same for all . Let denote the center of . As can be verified on basis of Figure 1, has coordinates $((a-b)/2,
Van Loocke
. Let . Then, is translated with the vector which connects with the origin. Subsequently, the resulting point is subject to a scaling with factor and center at the origin (the effect of this scaling on the translation of area is that the image of the latter coincides with ). These two actions define the second step. Third, the point obtained is rotated around the origin with an angle which is a multiple of , and/or subject to a reflection. The reflections and rotations in the third step can be chosen different for different . (The case of identical rotations and absence of reflection corresponds to the situation considered in [1]).
Turning to complex number notation, the equations involved become very simple. For each point , can be written as (where is the imaginary unit). The point onto which is mapped after the second step is , with . Then, the transformations which lead to Figure 2 simply read , where * denotes the complex conjugate (which corresponds to a reflection; this choice of is illustrated in the right part of Figure 1). The transformations used to obtain Figure 3 are:
The two other illustrations in this section are based on octagonal sets and . The dissection of in eight subsets is shown in Figure 4. With each set ( ) a function is associated in accordance with the recipe specified above. The rotations in the third step of the definition of were put equal to each other. The only difference between the algorithms leading to Figures 5 and 6 is that, in case of Figure 5, the rotations in the third step rotate with an angle , whereas in Figure 6, this angle is equal to . As was mentioned above, the algorithm used for these figures includes the additional step according to which a point not in is contracted toward the center of with factor (which was put equal to 0.8 in the illustrations).
Figure 2: (left) First illustration for square , with and and Figure 3: (right) Second illustration for square , with same sets and same values of and , but for different definition of
The Art of Iterated Function Systems with Expanding Functions
Figure 4:(left) Partition of octagonal set into 8 sets and Figure 5: (right) Octagon-based illustration with rotation angle in third step of equal to
Figure 6: Octagon-based illustration with rotation angle in third step of equal to
Van Loocke
Definition of and by origami
In the second specification of the general concepts, and are defined by an origami process. Suppose that a polygon is folded so that a smaller version of the same polygon is obtained. After unfolding, the sets are specified by the partition generated by the crease pattern. In order to define , the reduced polygon is magnified (and possibly rotated) so that it coincides with . For each set , this defines an expanding function which maps onto a subset of . In combination with the algorithm described above, this is basically all it takes to obtain Figure 8 on basis of the folding described in Figure 7 (Figure 7 for simplicity only shows . is a hexadecagon slightly larger than the blue hexadecagon ). Note that the process by which the reduced polygon is magnified has an alternative description. Mathematically, this is equivalent with downscaling the crease pattern to the reduced polygon, after which the folding is iterated. Therefore, the concepts described offer a way to create patterns corresponding to recurrent origami (some possibilities for variation, and a more extended discussion is given in [4]).
Figure 7: The blue hexadecagon is folded inward onto the smaller orange hexadecagon. First the parts between the square and the hexadecagon are folded (see the red arrows). Then the four corners of the square are folded, which results in an octagon (as indicated by the green arrows). Finally eight corners of the octagon are folded (in accordance with the purple arrows), so that the smaller hexadecagon is obtained. In order to define the functions , the latter is rotated first around the origin with angle , and next scaled so that it coincides with .
The Art of Iterated Function Systems with Expanding Functions
Figure 8: Image obtained by iteration of the origami process in Figure 7
Discussion
Iterated function systems are classically used with contracting functions. I have illustrated that expanding functions can yield fine results as well. One condition is that the domain on which functions act is divided carefully into parts. I gave two illustrations of how this can be achieved. The first one defines the parts by an iterated rotation method, the second one uses origami. There is little doubt that other partitions can be found which work equally well from an aesthetic point of view. But the latter application has the advantage of relating origami with fractal techniques, which is a domain in which many possibilities remain to be explored.
Van Loocke
References
[1] Ph. Van Loocke, Polygon-based fractals from compressed iterated function systems (IEEE CG&A, accepted). 2009
[2] M. Field, M. Golubitsky, Symmetry in chaos. A search for patterns in mathematics, art and nature, Oxford: Oxford University Press. 1992
[3] P. Prusinkiewicz, M. Hammel, Escape-time visualization method for language restricted iterated function systems, Proceedings of Graphics Interface ‘92, Morgan Kaufmann, pp. 213-223. 1992
[4] Ph. Van Loocke, Combination of basic origami with fractal iteration (Computers and Graphics, accepted). 2009