** **

** **

** **

Non-linear projection of IFS attractors: symmetry breaking and symmetry restoration

Philip Van Loocke

University of Ghent

Blandijnberg 2, Ghent 9000,
Belgium

philip.vanloocke@Ugent.be

Yannick Joye

University of Ghent

Blandijnberg 2, Ghent 9000,
Belgium

yannick.joye@Ugent.be

**Abstract.** A method is proposed in which iterated
function systems are combined with non-linear tree projections. A form is
initialized by a linear tree which projects to the attractor of an iterated
function system. Curvature fields are associated with the line segments of the
tree, by which a non-linear, three-dimensional form is obtained. Then, a method
is proposed that breaks the symmetry of the resulting form at different levels.
After symmetry-breaking, an operation of symmetry restoration can be applied in
order to obtain forms in which branches converge to a limited set of points.

** **

**1. Linear projection of an
attractor of an iterated function system**

Consider the Sierpinski triangle in Figure 1. It is
obtained as the attractor of the iterated function system defined by the
transformations f_{ 1}, f_{ 2}
and f_{ 3} which transform the plane into itself, and with f_{
}^{x}_{1}(x, y) = 0.5 x; f_{ }^{y}_{1}(x,
y) = 0.5 y; f_{ }^{x}_{2}(x, y) = 0.5 x + 0.5; f_{ }^{y}_{2}(x,
y) = 0.5 y; f_{ }^{x}_{3}(x, y) = 0.5 x + 0.25; f_{ }^{y}_{3}(x,
y) = 0.5 y + 0.5. Suppose that an initial point R is randomly chosen in the
unit square. If this point is subject to a large number of transformations from
the set {f_{ 1}, f_{ 2}, f_{ 3}}, and if these are
applied in random order, then the entire figure appears (if the initial point
is not on the attractor, the first few tens of iterations are to be left out of
the figure). This is the usual way to generate attractors of iterated function
systems. Figure 1 was generated in a different way. The initial point R had
coordinates (0.5, 0.5). Then, this point was subject to all combinations of
eight transformations f_{k1}◦f_{k2}◦…◦f_{
k8} (with k_{1},…,k_{8} = 1,…,3), so that 3^{8} =
6561 points were generated. Suppose that the point obtained after application
of a particular combination f_{k1}◦f_{k2}◦…◦f_{
k8} on R is denoted P_{k1,k2,...,k8}. The first index of this
point corresponds to the transformation which is applied last. Its predictive
value with respect to the location of the point is largest: it specifies that
the point is on the k_{1}-th transform of the attractor. The second
index refines this place: the point is on k_{1}-th transform of the k_{2}-th
transform of the attractor, and so on. Therefore, points differing in the last
index k_{8 }only are close to each other; points are usually further
removed if more early indexes are different.

A linear, ternary tree of which the endpoints coincide
with the points on the Sierpinski triangle is generated in two stages. First,
the tree is constructed in the plane of the triangle. Subsequently, the
starting point S of the tree is moved out of this plane, while the endpoints of
the tree are remaining at their place. Intermediate branching points are drawn
toward S as a function of the branching level. In the second stage, a
three-dimensional linear tree is generated by connecting all lower level
branching points with the three corresponding higher level points (Figure 3).

**Figure 1**. *Points
on the Sierpinski triangle obtained by combination of eight transforms*

* *

**Figure 2**. *Three
dimensional linear tree-projection of the Sierpinski triangle*

**2. Definition of fractals
fields over the attractor of an iterated function system**

Consider the point P_{k1,k2,...,k8} on the
Sierpinski triangle. A field f^{ }_{k1,k2,...,k8} is defined as
a function of the value of the indexes k_{1},…,k_{8}. The
general form of this function reads:

f^{ }_{k1,k2,...,k8} = S_{{s=1,...,8} }b_{s,ks} (1)

This expression means that, for each of the eight
transformations involved in the definition of
P_{k1,k2,...,k8, }f_{k1,k2,...,k8} is increased by a
quantity b_{s,ks} (s=1,...,8; k_{s}=1,...,3). The quantities b_{s,ks}
depend on the level s for which k_{s} specifies the transformation, and
on the value of k_{s} itself. For the present choice of eight levels,
and of an iterated function system defined by three transformations, this means
that the field expression (1) includes 3.8=24 parameters. Variation of these
parameters leads to different fields, and hence in the next section to
different non-linear forms.

**Figure 3**. Field defined by b_{s,ks}=1 if k_{s}=1
or k_{s}=2, and b_{s,ks}=3 if k_{s} =3

**Figure 4**. Field defined by b_{s,ks }= Rnd.
(9 – s)^{6}, and with symmetrization

**3. Generation of non-linear
forms by field-induced curvature**

In order to insert curvature in a linear tree, it has
to be analyzed into spatial variables. Because of the fact that we want fields
to directly induce curvature, a tree will be described in terms of angular
variables which are associated with line segments. Consider the s-th level branch with endpoint P_{k1,k2,...,ks } (s=1,…,8). Suppose that this branch is
divided into N segments of equal length. The unit vector along the n-th line
segment is denoted e^{n}_{k1,k2,...,ks } (n=1,...,N). This vector is specified by two
angles (q^{n}_{k1,k2,...,ks}, j^{n}_{k1,k2,...,ks}),
where q^{ n}_{k1,k2,...,ks }is the angle between the x-axis and the
projection of e^{n}_{k1,k2,...,ks} on the horizontal plane, and
j^{ n}_{k1,k2,...,ks }is the angle between the z-axis and e^{n}_{k1,k2,...,ks}.** **For all segments along the branch
(except for the first segment), the differences in angles can be determined: dq^{n}_{k1,k2,...,ks }= q^{ n}_{k1,k2,...,ks }– q^{ n-1}_{k1,k2,...,ks }; dj^{ n}_{k1,k2,...,ks }= j^{ n}_{k1,k2,...,ks }– j^{
n-1}_{k1,k2,...,ks} (n=2,...,N) (see [1]).

By coupling these differences to fields, the trees are
made non-linear. Two fields in agreement with the previous section are taken.
These are coupled with the horizontal and the vertical differences in angles,
respectively.

dq^{ n}_{k1,k2,...,ks } = dq^{ n}_{k1,k2,...,ks
} + a f^{
h}_{k1,k2,...,ks };
dj^{ n}_{k1,k2,...,ks } = dj^{ n}_{k1,k2,...,ks }+ b f^{ v}_{k1,k2,...,ks
}

(a and b are coupling constants)

The quantities f^{h}_{k1,k2,...,ks }are
called horizontal fields; they give horizontal curvature to the linear
branches. Similarly, the quantities f^{v}_{k1,k2,...,ks }curve
branches by modification of the angles of line segments with the z-axis.

The procedure in which trees are curved by fields can
be iterated. After an object is obtained by coupling of fields to angular
differences, a linear tree can be constructed so that its final level endpoints
coincide with the final level endpoints of the object. Then, this linear tree
can be curved in accordance with field definitions, and so on. After a few
iterations, this process usually leads to forms of high complexity. Figure 5
was generated for three iterations. Figure 6 illustrates a run of the program
in which vertical fields included a harmonic factor of horizontal angles. In Figure
7, all fields included a harmonic factor of vertical angles

**Figure 5**. Form obtained after three iterations

** **

**Figure 6**. Run of program for vertical fields with
harmonic factor of horizontal angles

**Figure 7**. Run for fields with harmonic factor of
vertical angles

** **

**4. Symmetry restoration**

** **

Suppose that, in some or other context, one aims at a
form that has less divergence of endpoints. This can be obtained by an
operation in which endpoints are drawn together in sets of 3^{k} points. Subsequently, branching
nodes at lower levels are moved in proportion with the average movement of
higher level nodes. Consider the form in Figure 8. For k=1, the first stage in
the convergence process is obtained; it is shown in Figure 9. At final stage,
all endpoints point to the same point, as is illustrated in Figure 10.

**Figure 8. **Initial form before symmetry restoration

** **

** **

**Figure 9. **First stage of convergence process

** **

** **

** **

** **

** **

** **

**Figure 10. **Final stage of convergence process

** **

**References**

[1] Van Loocke,
Ph. (2004), Data visualization with
fractal growth, *Fractals*, 12(1),
123-136