An example of a Penrose tiling (P0=Robinson triangle decomposition)
Edit and compile if you like:
% Penrose tiling (P0=Robinson triangle decomposition) % Author: Paul Gaborit \documentclass{article} \usepackage{tikz} \usepackage[active,tightpage]{preview} \PreviewEnvironment{tikzpicture} \setlength{\PreviewBorder}{10pt}% \usetikzlibrary{calc} \usepackage{ifthen} \pgfmathsetmacro{\invphi}{2/(1+sqrt(5))} \newcommand\penroseA[4]{% n, a, b, c \ifthenelse{0<#1}{ { \pgfmathtruncatemacro{\n}{#1-1} \coordinate(#2#4) at ($(#2)!\invphi!(#4)$); \coordinate(#2#3) at ($(#2)!\invphi!(#3)$); \penroseA{\n}{#2}{#2#3}{#2#4} \penroseA{\n}{#4}{#2#3}{#3} \penroseB{\n}{#2#3}{#4}{#2#4} } }{ \fill[colA,draw=white] (#2) -- (#3) -- (#4) -- cycle; } } \newcommand\penroseB[4]{% n, a, b, c \ifthenelse{0<#1}{ { \pgfmathtruncatemacro{\n}{#1-1} \coordinate(#2#3) at ($(#2)!\invphi!(#3)$); \penroseA{\n}{#2}{#2#3}{#4} \penroseB{\n}{#3}{#4}{#2#3} } }{ \fill[colB,draw=white] (#2) -- (#3) -- (#4) -- cycle; } } \begin{document} \begin{tikzpicture}[line width=.1pt] \colorlet{cyan}[rgb]{cyan} \colorlet{colB}{red} \colorlet{colA}{blue} \coordinate (a) at (0,0); \path (a) ++(0:15) coordinate (b); \path (a) ++(36:15) coordinate (c); \path (a) ++(72:15*\invphi) coordinate (d); \path (a) ++(-36:15*\invphi) coordinate (e); \penroseA{8}{a}{b}{c} \penroseB{8}{c}{a}{d} \penroseB{8}{b}{a}{e} \end{tikzpicture} \end{document}
Click to download: penrose-tiling.tex • penrose-tiling.pdf
Open in Overleaf: penrose-tiling.tex