\documentclass[a4paper,12pt,oneside]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[top=2cm, bottom=1.5cm, left=2.0cm, right=2.0cm]{geometry}
\geometry{a4paper}
\usepackage{amsmath}
\usepackage{tikz}
\usepackage{fancyhdr}
%\usepackage{array}
%\usetikzlibrary{arrows}


\lhead{Urem Bruxelles - Groupe \LaTeX}
\chead{}
\rhead{juillet 2010 }
\lfoot{\emph{Hugues Vermeiren}}
%\cfoot{Page \thepage}
\rfoot{}
\renewcommand{\footrulewidth}{0.4pt}
\pagestyle{fancy}

\newcommand{\MyPattern}{
	\fill[thick,blue!30!] (0,0)
		--++ (0,1) --++ (1,0)
		--++ (0,{-11*\w)}) --++ ({-9*\w)},0) --++ (0,{7*\w}) --++ ({5*\w},0)
		--++ (0,{-3*\w}) --++ ({-2*\w},0)
		--++ (0,{-\w})
		--++ ({3*\w},0) --++ (0,{5*\w}) --++ ({-7*\w},0) --++ (0,{-9*\w})
		--++ ({11*\w},0) --++ (0,{-\w}) --++ ({-12*\w},0)
		--++ (0,{11*\w}) --++ ({9*\w},0) --++ (0,{-7*\w}) --++ ({-5*\w},0)
		--++ (0,{3*\w}) --++ ({2*\w},0) --++ (0,\w)
		--++ ({-3*\w},0) --++ (0,{-5*\w}) --++ ({7*\w},0) --++ (0,{9*\w})
		--++ ({-11*\w},0) --++ (0,{-12*\w})
		-- cycle
		;
	\draw[thick,blue] (0,\w)
		% The border of the pattern is built independently to avoid imperfections in the frieze
		--++ (0,{1-\w}) --++ (1,0)
		--++ (0,{-11*\w}) --++ ({-9*\w},0) --++ (0,{7*\w}) --++ ({5*\w},0)
		--++ (0,{-3*\w}) --++ ({-2*\w},0)
		--++ (0,{-\w})
		--++ ({3*\w},0) --++ (0,{5*\w}) --++ ({-7*\w},0) --++ (0,{-9*\w})
		--++ ({11*\w},0) ++ (0,{-\w}) --++ ({-12*\w},0) % a segment is skipped here...
		--++ (0,{11*\w}) --++ ({9*\w},0) --++ (0,{-7*\w}) --++ ({-5*\w},0)
		--++ (0,{3*\w}) --++ ({2*\w},0) --++ (0,\w)
		--++ ({-3*\w},0) --++ (0,{-5*\w}) --++ ({7*\w},0) --++ (0,{9*\w})
		--++ ({-11*\w},0) --++ (0,{-12*\w})--++(-\w,0)
		;
}

\begin{document}
	\pgfmathparse{1/13} \let\w\pgfmathresult{} % w is the width of the strip
	{\large Construction d'une frise à l'aide du package Tikz}

	\begin{enumerate}
		\item
			\textbf{Le motif de base}

			\bigskip
			\begin{minipage}{0.35\linewidth}
				\begin{tikzpicture}[scale=4.0]
					\MyPattern{}
					\draw[red,very thick] (0,0) rectangle (1,1);
					\draw[->,thick] (-0.1,0)--(1.2,0) node[below]{$x$};
					\draw[->,thick] (0,-0.1)--(0,1.2) node[left]{$y$};
					\draw[thin,gray,dashed,step={\w}] (-0.05,-0.05)grid(1.15,1.05);
					\fill (1,0) circle (0.15mm) node[below]{$(1,0)$};
					\fill (0,1) circle (0.15mm) node[left]{$(0,1)$};
				\end{tikzpicture}
			\end{minipage}
			\hfill{}
			\begin{minipage}{0.55\linewidth}
				Ce motif est construit dans la macro \texttt{$\backslash{}$MyPattern}

				Les déplacements relatifs sont préférés aux coordonnées absolues. C'est beaucoup plus simple à gérer vu que le motif ci-contre est une sorte de long serpent...

				\begin{scriptsize}
					La hauteur du motif est de $1$ unité, la largeur est de $\frac{14}{13}$ unité.
				\end{scriptsize}
			\end{minipage}
	
		\item
			\textbf{La frise construite à l'aide de symétries glissées}

			Le manuel pgf-tikz (pgfmanuel.pdf) [p.250], peu bavard sur le sujet, nous renseigne sur la manière d'appliquer une transformation affine à une figure ou à certains éléments d'une figure.
			Une telle transformation peut être décrite comme suit:

			Si $(x,y)$ sont les coordonnées du point à transformer, et $(x',y')$ celles du point image:
			\[
 					\begin{pmatrix}
 						x' \\ y'
					\end{pmatrix}
					=
					\begin{pmatrix}
						a & b \\
						c & d \\
					\end{pmatrix}
					\begin{pmatrix}
 						x \\ y
					\end{pmatrix}
					+
					\begin{pmatrix}
						t_x \\
						t_y
					\end{pmatrix}
			\]
			où $\begin{pmatrix}a & b \\ c & d \end{pmatrix}$ est la matrice d'une application linéaire (elle laisse l'origine fixe) et où
			$\begin{pmatrix}t_x \\ t_y\end{pmatrix}$ représente la translation associée à la transformation affine.

			Pratiquement, les six paramètres de la transformations seront introduits en option, donc entre crochets, selon la syntaxe:
			\texttt{$\backslash{}$commande [a,b,c,d,(tx,ty)]}
			
			Le manuel déconseille l'utilisation des transformations dans le cas de commandes simples. Dans le cas de la frise, l'option est incluse dans un environnement \texttt{scope} lui-même inclus dans une boucle \texttt{$\backslash$foreach}.

			A partir du motif de base, les transformations successivement appliquées\footnote{On épluchera le code pour les détails} sont
			\begin{itemize}
				\item L'identité et une translation,
				\item La symétrie axiale d'axe $Ox$ de matrice $\begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}$ et une translation.
			\end{itemize}
			\begin{tikzpicture}[scale=1.5]
				\clip (0.5,-1.5) rectangle (12,1.5);
				\fill[yellow!40!red!30!] (0.5,{-1-2*\w}) rectangle (12,{1+\w});
				\draw[very thick,blue] (0,{1+\w})--(13,{1+\w});
				\draw[very thick,blue] (0,{-1-2*\w})--(13,{-1-2*\w});
				\foreach \i in {0,...,30}{
		 			\begin{scope}[cm={1,0,0,{(-1)^\i},({(1+\w)/2*\i},{-\w*mod(\i,2)})}]
						\MyPattern{}
					\end{scope}
					}
			\end{tikzpicture}
	\end{enumerate}
\end{document}
