\documentclass{article}
\usepackage[paperwidth=15cm,paperheight=15cm,margin=0.5cm]{geometry}
\usepackage[svgnames]{xcolor}
\usepackage{ifthen}
\usepackage{tikz}
\usetikzlibrary{penrose}
\usetikzlibrary{decorations.pathmorphing}
\usetikzlibrary{calc}
\colorlet{thinRhombus}{DarkOrchid}
\colorlet{thickRhombus}{DarkSlateGray}
\colorlet{circleArc}{RosyBrown}
\colorlet{longArc}{LawnGreen}
\colorlet{kite}{HotPink}
\colorlet{dart}{Fuchsia}
\colorlet{goldenTriangle}{Gold}
\colorlet{reverseGoldenTriangle}{Magenta}
\colorlet{goldenGnomon}{Cyan}
\colorlet{reverseGoldenGnomon}{LimeGreen}
\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}
\pagestyle{empty}
\centering
% Penrose tiling squiggles
\input{squiggly}
\clearpage
% Penrose tiling pentagon
\null\vfill
\resizebox{\textwidth}{!}{
\begin{tikzpicture}[line width=.1pt]
\input{pentagon}
\end{tikzpicture}
}
\vfill
\clearpage
% Penrose Diagram
\null\vfill
\resizebox{\textwidth}{!}{
\begin{tikzpicture}
\input{diagram}
\end{tikzpicture}
}
\vfill
\clearpage
% Penrose Triangle
\null\vfill
\resizebox{\textwidth}{!}{
\begin{tikzpicture}
\begin{scope}[rotate=-60, line join=bevel]
\input{triangle}
\end{scope}
\end{tikzpicture}
}
\vfill
\end{document}