Con la valiosa ayuda de TeXample.net he dibujado estos dos cuerpos imposibles (el ladrillo de Escher y el triángulo de Penrose) a modo de práctica, empleando la herramienta TickZ para LaTeX.
Los códigos son los siguientes:
% Ladrillo de Escher
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{center}
\begin{tikzpicture}[scale=4.5, line join=bevel]
% \a and \b are two macros defining characteristic
% dimensions of the impossible brick.
\pgfmathsetmacro{\a}{0.18}
\pgfmathsetmacro{\b}{1.37}
\tikzset{%
apply style/.code={\tikzset{#1}},
brick_edges/.style={thick,draw=black},
face_colourA/.style={fill=gray!50},
face_colourB/.style={fill=gray!25},
face_colourC/.style={fill=gray!90},
}
\foreach \theta/\v/\facestyleone/\facestyletwo in {%
0/0/{brick_edges,face_colourA}/{brick_edges,face_colourC},
180/-\a/{brick_edges,face_colourB}/{brick_edges,face_colourC}
}{
\begin{scope}[rotate=\theta,shift={(\v,0)}]
\draw[apply style/.expand once=\facestyleone]
({-.5*\b},{1.5*\a}) --
++(\b,0) --
++(-\a,-\a) --
++({-\b+2*\a},0) --
++(0,-{2*\a}) --
++(\b,0) --
++(-\a,-\a) --
++(-\b,0) --
cycle;
\draw[apply style/.expand once=\facestyletwo]
({.5*\b},{1.5*\a}) --
++(0,{-2*\a}) --
++(-\a,0) --
++(0,\a) --
cycle;
\end{scope}
}
\end{tikzpicture}
\end{center}
\end{document}
% Triángulo de Penrose
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{center}
\begin{tikzpicture}[scale=1, line join=bevel]
% \a and \b are two macros defining characteristic
% dimensions of the Penrose triangle.
\pgfmathsetmacro{\a}{2.5}
\pgfmathsetmacro{\b}{0.9}
\tikzset{%
apply style/.code = {\tikzset{#1}},
triangle_edges/.style = {thick,draw=black}
}
\foreach \theta/\facestyle in {%
0/{triangle_edges, fill = gray!50},
120/{triangle_edges, fill = gray!25},
240/{triangle_edges, fill = gray!90}%
}{
\begin{scope}[rotate=\theta]
\draw[apply style/.expand once=\facestyle]
({-sqrt(3)/2*\a},{-0.5*\a}) --
++(-\b,0) --
({0.5*\b},{\a+3*sqrt(3)/2*\b}) -- % higher point
({sqrt(3)/2*\a+2.5*\b},{-.5*\a-sqrt(3)/2*\b}) -- % rightmost point
++({-.5*\b},-{sqrt(3)/2*\b}) -- % lower point
({0.5*\b},{\a+sqrt(3)/2*\b}) --
cycle;
\end{scope}
}
\end{tikzpicture}
\end{center}
\end{document}
Referencias y agradecimientos:
[1] https://texample.net/tikz/examples/

No hay comentarios:
Publicar un comentario