Improved symmetric sum

I’ve found a better way how to write the sums of the posts “Rotational symmetry from space with an odd number of dimensions” and “Rotational symmetry from space with an even number of dimensions“. It is more compact, shows how to calculate the sums efficiently and comes in handy for discussing the color symmetries.

We simply put the two-dimensional scalar products between the position of the pixel and the unit vectors in a large vector ω, which has the same number of components as the dimension p of the embedding space:

Then we can write a single wave as

where we use a scalar product in p-dimensional space and

is the wave vector that defines the wave. To go further we have to distinguish two different cases.

For p-fold rotational symmetry with odd p, the embedding space has p dimensions. In the drawing plane, the angle between neighboring unit vectors is 2π/p. They can be written as

If we rotate the points x in the plane by an angle of 2π/p, then the wave f changes like that:

as discussed in “Rotational symmetry from space with an odd number of dimensions“. Now, we can write this more conveniently

Here we actually have a rotation of the wave vector k in the embedding p-dimensional space

that corresponds to the rotation of the drawing plane. It is easily programmed by shifting cyclically the components of the wave vector.

To create symmetric images we need symmetric packages of rotated wave function. They are

where the h-th power of a rotation R means that the rotation has to be done h times. Obviously

The mapping functions X(x,y) and Y(x,y) for creating images are linear combinations of such packages


where the A and B are real valued coefficients. Y(x,y) has the same form.

Now for the other case: n-fold rotational symmetry with even n. The embedding space has a lower dimension p=n/2 by a factor of 2. Note that it does not matter if p is even or odd. The angle between unit vectors is π/p and the unit vectors can be written as

Again we look at rotated wave functions. As discussed in”Rotational symmetry from space with an even number of dimensions”  we have a change in the sign of components of the wave vector k:

This gives

where the rotated wave vector is

The rotationaly symmetric packages of waves are

which we can simplify using of the symmetries of the sine and cosine functions. Thus we get

and the mapping functions X and Y are linear combinations of such packages:

and Y(x,y) has the same form.

I hope that this has not become too obscure and that there are no stupid mistakes. I would appreciate your comments and corrections.



Posted in Anamorphosis, Kaleidoscopes, Quasiperiodic design, Tilings | Leave a comment

Quasiperiodic design with 8-fold rotational symmetry from 4-dimensional space

Using the recipe of the last post for four-dimensional space (p=4) I got this image of 8-fold rotational symmetry:

A center of approximate 8-fold rotational symmetry is near the lower left corner. Large brown patches appear at roughly equal distances. They lie at corners of squares, rhombs with an acute angle of 45 degrees and regular octagons. These polygons bear similar decorations. Overall this image seems to be an approximate decoration of the Ammann-Beenker tiling. This is no surprise as a simple superposition of sinusoidal waves too makes a decoration of the Ammann-Beenker tiling, see my post “Quasiperiodic pattern from eight waves and the Ammann-Beenker tiling”.

To do your own experiments, simply get my public repository and first have a look at “warpingKaleidoscope.html”, which you can open in your browser to create kaleidoscopic images. But beware, everything is changing. The current commit is 929315b.

Posted in Anamorphosis, Kaleidoscopes, Quasiperiodic design | Tagged , , , | Leave a comment

Rotational symmetry from space with an even number of dimensions

For an embedding space with an even number of dimensions p=2q we do similarly as for an odd number of dimensions, see the earlier post “Rotational symmetry from…“. Note that now we should not use an angle of 2π/p between neighboring unit vectors because this would give us pairs of opposed unit vectors. Instead, we have to use a separating angle of π/p resulting in a 2p-fold rotational symmetry.

For even p the unit vectors are

Note that

Rotations are similar to the case of an odd number of dimensions, but we consider here multiples of π/p. To get an image with rotational symmetry we have to sum up a full cycle of 2p rotated basic mapping functions, like that:

where the basic mapping function X(x,y) usually is not symmetric.

Rotating the first unit vector clockwise by π/p now gives the opposite of the last unit vector:


we get

Observe that we have exponential functions of imaginary arguments that come in pairs with opposite signs. This simplifies to

This gives mapping functions from special choices for the wave vector components. With a basic mapping function of only one non-zero component of the wave vector


we get the same symmetric function as for embedding spaces with an odd number of dimensions:

But for the second part of the mapping function Y we now cannot use sine functions. Instead, we can use a basic function with two non-zero wave vector components


resulting in the symmetric mapping function

You best make a drawing of these vector combinations to see the rotational symmetry.

With these mapping functions we easily generate quasi-periodic designs with a rotational symmetry which is a multiple of four.




Posted in Anamorphosis, Kaleidoscopes | Tagged , , | 1 Comment

Periodic design with 3-fold rotational symmetry from 3-dimensional space

Three dimensional space gives a three-fold rotational symmetry in the drawing plane. The designs are periodic. Note that if you put a cube on one of its points and look along its space-diagonal from above, then you see an object with three-fold rotational symmetry. This shows that there is an important similarity to isometric projection. The three unit vectors in the drawing plane are

(1, 0), (-½, ½√3) and (-½, -½√3).

They are isometric projections of the three coordinate axis and form a triangular lattice. You do not need to use all three vectors. Often, one replaces the third unit vector by

(-½, -½√3) = – (1,0) – (-½, ½√3).

But for creating designs with three-fold rotational symmetry it might be better to use all three vectors. Then, the symmetry becomes obvious. Similar to the previous post, the simplest mapping functions with three-fold rotational symmetry are

X(x,y) = cos(x) +cos(-½ x+½√3 y) +cos(-½ x -½√3 y) and

Y(x,y) = sin(x) +sin(-½ x+½√3 y) +sin(-½ x -½√3 y).

This results in images like that:

As input image I used a photo of a rosechafer on sedum spectabilis. The green and rose shapes result from the flower. The shiny yellow and blue shape is part of the body of the insect. At the ends you can discover its head.

A minstrel bug and different mapping functions give


Posted in Anamorphosis, Kaleidoscopes, Tilings | Tagged , , | Leave a comment

Inversion symmetry doubles the rotation symmetry for an odd number of dimensions

We now want to impose inversion symmetry in addition to rotational symmetry on our designs. This means that the mapping functions should not change upon inversion of the position. Thus
X(-x,-y)=X(x,y) and Y(-x,-y)=Y(x,y). Let’s consider space with an odd number p of dimensions and look at the earlier post “Rotational symmetry from …“. There we got a p-fold rotational symmetry with rotation by multiples of 2π/p that leave X and Y unchanged. The inversion is simply a rotation by π. Both together give that X and Y are invariant upon rotation by π/p. You can easily verify that, if you take into account that p is an odd number. Thus we get designs with a 2p-fold rotational symmetry.

To create such designs we use that only the cosine function is an even function and does not change if the sign of its argument changes as cos(-x)=cos(x). Thus only cosine waves make up the mapping functions X and Y if we impose inversion symmetry. Taking care to use functions that are not multiples of each other, we get from 5-dimensional space drawings like this:

Here the center of perfect 10-fold rotational symmetry lies near the lower left corner. Look out for shapes with approximate local 5-fold and 10-fold rotational symmetry.

Using an embedding space with an odd number of dimensions we cannot make designs with a rotational symmetry that is a multiple of 4. They result from an even number of dimensions as I will show in a following post.

Posted in Anamorphosis, Kaleidoscopes, Quasiperiodic design | Tagged , , , | Leave a comment

quasiperiodic patterns of 5-fold symmetry from 5 dimensional space

I now want to see some images. Using a photo of a caterpillar as input image I get

I used the simplest quasiperiodic mapping functions resulting from the theory of the last post


The center of perfect 5-fold symmetry is near the lower left corner. Further out you can recognize the head of the caterpillar. At higher magnification you see more clearly how the caterpillar is “anamorphized” into a quasiperiodic image:

To see the quasiperiodicity we need the image of a larger region. Here is the result from an image of a fly on Muscary flowers:

Do you see the various 5-pointed stars and how they are approximately repeated at other places?

Note that these images are mirror symmetric with respect to the x-axis going through the center of perfect rotational symmetry. Actually, it is difficult to create images that are not mirror symmetric. That is quite different to rosettes.

If you want to experiment then look at my public Github repository: It has the code for generating images like that and much more. Start with: warpingKaleidoscope.html. Your comments and improvements are welcome. Keep in mind that this is a moving target.

Posted in Anamorphosis, Kaleidoscopes, Quasiperiodic design | Tagged , , , | Leave a comment

Rotational symmetry from space with an odd number of dimensions

We now look at the easier case for the post “Quasi-periodic and periodic kaleidoscope from higher dimensional space“, where the embedding space has an odd number of dimensions, p=2q+1. The unit vectors lie at equal angles and form a star with p points:

where h goes from 1 to p. Note that they are  mirror symmetric at the x-axis as

To simplify we set ζ=0 and expand the argument of the exponential function, then the mapping functions become

and similar for Y. To get a p-fold rotational symmetry we have to look at rotations by an angle of 2π/p. This results in

Because the angle between the unit vectors is 2π/p we have

and we get

To create a mapping function X with p-fold rotational symmetry we add up functions rotated by multiples of 2π/p

This results in

which is equal to the condition

This is not really surprising. It means simply that we have to shift around the components of the wave vector k resulting in different waves that have to be summed up. For programming we use real valued functions and coefficients. Then

and similar for the other component Y of the mapping function.





Posted in Kaleidoscopes, programming, Quasiperiodic design | Tagged | 1 Comment