## Rotations, mirrorsymmetry and the scalar product

In the last post we have seen that scalar products between a pixel’s position in the output image and certain vectors e define periodic and quasi-periodic designs. We want symmetric images and thus we have to see how the scalar product changes when we rotate or mirror the plane. This is nothing new to you, but I prefer to define everything clearly, because I have always difficulties with coordinate transformations and the like. Better a fussy post than a fuzzy blog!

I am writing vectors of unit length and an angle α with the x-axis like that:

The position (x,y) of a pixel in the output image can then be written as a vector

where I am essentially using polar coordinates. r is the length of the vector and φ its angle with the x-axis. The scalar product is then

We now look at rotations. They are matrices

where Δ is the angle of rotation. A rotation changes the angle of a vector

and it changes the value of scalar products

This is almost trivial. The scalar product of a rotated vector with a second vector is the same as the scalar product of the original vector with the second vector rotated by the opposite angle. But this becomes important when we look at rotational symmetry and color symmetries.

Mirror symmetry is similar. The mirror image of (x,y) using the x-axis as mirror axis is (x,-y). As a matrix we have

and thus we can write

and the scalar product changes like this

As expected, the scalar product of the mirror image of a vector with another vector is the same as the scalar product of the original vector with the mirror image of the second vector.

Inversion changes a vector into its opposite. It is simply a rotation by 180 degrees. Using radians for angles

and the above relations for the scalar product of rotated vectors apply too.

This is it. The short notations for rotations and mirror symmetry will be useful in further discussions.

This entry was posted in Anamorphosis, Kaleidoscopes, programming, Tilings and tagged , , . Bookmark the permalink.

This site uses Akismet to reduce spam. Learn how your comment data is processed.