Example: Symmetries of the plane

Published 2012-02-26 | Author: Cristóbal Camarero Coterillo

An implementation of all 17 plane symmetries in TikZ. With the orbifold signature these are the following:

*632*442*333*2222**
2*22*x
4*23*322*
22xxx
6324423332222o

For their meaning and more pretty pictures see "The Symmetries of Things" by John H. Conway, Heidi Burgiel and Chaim Goodman-Strauss.

A brief comment about the orbifold signature: A number n before * represent a gyration point of order n, thus in 632 we have three effectively distinct points with respective orders 6, 3 and 2. Each * represents a kaleidoscope, a kaleidoscope which is not followed by a number is a mirror, a following number n represent a point where n mirror lines cross. Thus, in *333 we have a kaleidoscope with 3 different points, in each one, there are crossing 3 mirrors. In 4*2 we have a gyration point of order 4, the four neighbour point are actually the same point, a point where 2 mirrors cross. The x is called a miracle and represent a reflection which cannot be explained by a mirror line. Finally, the o is called a wonder and represents translations which are not explained by any previous symbol.

See also Orbifold notation (Wikipedia).

Download as: [PDF] [TEX]

Symmetries of the plane

Do you have a question regarding this example, TikZ or LaTeX in general? Just ask in the LaTeX Forum.
Oder frag auf Deutsch auf TeXwelt.de. En français: TeXnique.fr.

% Symmetries of the plane
% Author: Cristóbal Camarero Coterillo
\documentclass[a4paper, 12pt, landscape]{article}
\usepackage[utf8]{inputenc}
\usepackage{textcomp}
\usepackage{tikz}
\usetikzlibrary{shapes,calc,decorations.pathmorphing,decorations.fractals}
\usepackage[bookmarks=true]{hyperref}
%landscape tuning
\setlength{\oddsidemargin}{0in} % default=0in
\setlength{\textwidth}{9in} % default=9in
\setlength{\columnsep}{0.5in} % default=10pt
\setlength{\columnseprule}{1pt} % default=0pt (no line)
\setlength{\textheight}{5.85in} % default=5.15in
\setlength{\topmargin}{-0.15in} % default=0.20in
\setlength{\headsep}{0.25in} % default=0.35in
\setlength{\parskip}{1.2ex}
\setlength{\parindent}{0mm}
%PDF Settings
\newcommand\titulo{Symmetries of the plane}
\newcommand\autor{\href{http://www.alumnos.unican.es/ccc66}
{Cristóbal Camarero Coterillo}}
\hypersetup{
%bookmarks=true, % show bookmarks bar?
unicode=false, % non-Latin characters in Acrobats bookmarks
pdftoolbar=true, % show Acrobats toolbar?
pdfmenubar=true, % show Acrobats menu?
pdffitwindow=true, % page fit to window when opened
pdftitle={\titulo}, % title
pdfauthor={\autor}, % author
pdfsubject={symmetries of the plane in tikz}, % subject of the document
pdfnewwindow=true, % links in new window
pdfkeywords={plane,symmetry,orbifold},% list of keywords
pdfpagemode=None, % avoid auto open bookmarks
colorlinks=false, % false: boxed links; true: colored links
linkcolor=red, % color of internal links
citecolor=green, % color of links to bibliography
filecolor=magenta, % color of file links
urlcolor=cyan % color of external links
}
\begin{document}
\newsavebox{\piece}%A TeX box to store the base tile (or orbifold)
\clearpage
%*632
\phantomsection\addcontentsline{toc}{chapter}{*632}%Add to PDF bookmarks
\savebox{\piece}{%We create the base tile
\begin{tikzpicture}[overlay]
\node[star,draw=red!50!black,inner sep=1pt] at (0.7,0.3) {};
\node[red,anchor=base] at (0.55,0.05) {\tiny $*632$};
\draw[thin] (0,0) -- ++(0:1) -- ++(120:0.5) --cycle;
\end{tikzpicture}}
\begin{center}%We replicate the tile according to the symmetry
\begin{tikzpicture}[every node/.style={anchor=center,draw=none}]
%The \i loop creates a supertile which can tile by translations
%which is done by the \a and \b loops
\foreach \a in {0,...,7}
\foreach \b in {0,...,7}
\foreach \i in {0,1,2,3,4,5}
{
\path (0,0)
++(0:\a) ++(60:\a) ++(0:\b) ++(-60:\b)
node[rotate=\i*60] {\usebox{\piece}}
node[rotate=\i*60,yscale=-1] {\usebox{\piece}};
}
\end{tikzpicture}
\end{center}
\clearpage
%632
\phantomsection\addcontentsline{toc}{chapter}{632}
\savebox{\piece}{%
\begin{tikzpicture}[overlay]
\node[blue] at (0.3,0.4) {\tiny 632};
\draw[thin] (0,0) -- ++(0:1) -- ++(120:1) --cycle;
\end{tikzpicture}}
\begin{center}
\begin{tikzpicture}[every node/.style={anchor=center,draw=none}]
\foreach \a in {0,...,8}
\foreach \b in {0,...,8}
\foreach \i in {0,1,2,3,4,5}
{
\path (0,0)
++(0:\a) ++(60:\a) ++(0:\b) ++(-60:\b)
node[rotate=\i*60] {\usebox{\piece}};
}
\end{tikzpicture}
\end{center}
\clearpage
%*442
\phantomsection\addcontentsline{toc}{chapter}{*442}
\savebox{\piece}{%
\begin{tikzpicture}[overlay]
\node[arrow box,arrow box arrows={south:0.5cm,west:0.5cm},draw=red!50!black,inner sep=4pt] at (0.8,0.8) {};
\node[red,anchor=base] at (0.4,0.05) {\tiny $*442$};
\draw[thin] (0,0) -- ++(0:1) -- ++(90:1) --cycle;
\end{tikzpicture}}
 
 

Comments

  • #1 mahdi, October 28, 2013 at 10:16 p.m.

    very interesting!! :)

Adding comments is currently not enabled.