Está en la página 1de 9

Hans López Herramientas Matemáticas 2021-1

Conjuntos fractales elaborados en LATEX

El presente documento muestra un conjunto básico de instrucciones que se sugieren seguir para
empezar a elaborar imágenes de conjuntos fractales en LATEX. Los ejemplos que se muestran son
construidos a partir de los paquetes pst-fractal y TikZ. El primero, permite elaborar los con-
juntos fractales más populares con un mı́nimo ajuste de parámetros; en el segundo, se ofrece la
construcción de sistemas de Lindenmayer. Con este último se tiene control absoluto de reglas de
producción, ángulos y número de iteraciones. El documento finaliza mostrando algunos ejemplos
de imágenes de conjuntos fractales y de los códigos empleados para obtenerlas.

1. Fractales construidos con el paquete pst-fractal


Con pst-fractal (Voß, 2010) se pueden elaborar imágenes de conjuntos fractales en LATEX, con
calidad tipográfica. El triángulo de Sierpinski, el copo de nieve de Von Koch, los cı́rculos de Apo-
llonius, entre otros conjuntos, se pueden graficar indicando una reducida cantidad de parámetros.
Es de aclarar que el paquete pst-fractal utiliza PSTricks, que no es compatible con el compilador
pdflatex. Por lo anterior, se sugiere cambiar la configuración del compilador a LaTeX, cuando se
usa la plataforma de Overleaf; o utilizar la cadena dvi-ps-pdf, cuando se emplea TeXstudio. Una
vez ajustada la configuración, en el encabezado del archivo se debe incluir el paquete:

\usepackage{pst-fractal}

En la Figura 1 se muestra una imagen del triángulo de Sierpinski, construido con seis (6) iteraciones.

Figura 1: Triángulo de Sierpinski

28 de mayo de 2021 Conjuntos fractales elaborados en LATEX 1


Hans López Herramientas Matemáticas 2021-1

La imagen mostrada en la Figura 1 se obtiene con el siguiente código:

\begin{pspicture}(7,7) % tama~
no de la imagen en cm.
\psSier(0,0){7cm}{6} % punto inicial, tama~
no de la base y número de iteraciones.
\end{pspicture}

Como se aclara en los comentarios, los parámetros que se deben indicar son: el tamaño de la
imagen (7 cm x 7 cm), el punto inicial (0,0), el tamaño de la base del triángulo (7 cm) y el número
de iteraciones empleadas (6). Adicionalmente, se puede aprovechar el entorno del pspicture para
realizar varias gráficas. Por ejemplo, la imagen mostrada en la Figura 2, se puede obtener con el
siguiente código:

\begin{pspicture}(17,5)
\psSier(0,0){5}{1}
\psSier(6,0){5}{2}
\psSier(12,0){5}{3}
\end{pspicture}

Figura 2: Primeras iteraciones del triángulo de Sierpinski

Continuando con los ejemplos, en la Figura 3 se muestra una imagen del copo de nieve de Von
Koch. El código utilizado es el siguiente:

\begin{pspicture}(-2,0)(5,5)
\psKochflake[scale=10]
\end{pspicture}

28 de mayo de 2021 Conjuntos fractales elaborados en LATEX 2


Hans López Herramientas Matemáticas 2021-1

Figura 3: Copo de nieve de Von Koch

Finalmente, en la Figura 4 se muestra una imagen de los cı́rculos de Apollonius. El código utilizado
es el siguiente:

\begin{pspicture}(-4,-4)(4,4)
\psAppolonius[Radius=4cm](0,0)
\end{pspicture}

Figura 4: Cı́rculos de Apollonius

28 de mayo de 2021 Conjuntos fractales elaborados en LATEX 3


Hans López Herramientas Matemáticas 2021-1

2. Sistemas de Lindenmayer
El paquete TikZ ofrece una biblioteca dedicada a la elaboración de sistemas de Lindenmayer o
L-systems (Tantau, 2021). A diferencia de PSTricks, TikZ sı́ es compatible con pdflatex y demás
compiladores. Para empezar a trabajar con la biblioteca, se deben incluir las siguientes lı́neas de
código en el encabezado del documento:

\usepackage{tikz}
\usetikzlibrary{lindenmayersystems}

Luego, en el cuerpo del documento, se construyen la imágenes en un entorno tikzpicture. Por


ejemplo, la imagen mostrada en la Figura 5 se obtiene con el siguiente código:

\begin{tikzpicture}[scale = 0.1, line width = 0.1pt]


\draw
[l-system={rule set={F -> F-F++F-F}, step=2pt, angle=60, axiom=F++F++F, order=6}]
lindenmayer system
;
\end{tikzpicture}

Figura 5: Copo de nieve de Von Koch obtenido tras 6 iteraciones

En el código se debe indicar: el conjunto de reglas de producción (F 7→ F − F + +F − F ), la


cantidad de puntos que se va a avanzar en cada paso F (2pt), el ángulo que se va a girar en
cualquiera de los dos sentidos: horario (+) o antihorario (−), el axioma (F + +F + +F ) y el
número de iteraciones (6).
Por ejemplo, en la Figura 6 se muestra un conjunto con dimensión fractal 1.5, obtenido con el
código mostrado a continuación:

28 de mayo de 2021 Conjuntos fractales elaborados en LATEX 4


Hans López Herramientas Matemáticas 2021-1

\begin{tikzpicture}[scale = 0.1, line width = 0.1pt]


\draw
[l-system={rule set={F -> F+F-F-FF+F+F-F}, step=2pt, angle=90, axiom=F, order=5}]
lindenmayer system
;
\end{tikzpicture}

Figura 6: Conjunto con dimensión fractal 1.5, obtenido tras 5 iteraciones

Ahora, si se modifica el axioma F por F − F − F − F , se obtiene el conjunto fractal mostrado en


el Figura 7 y cuyo código asociado se lista seguidamente.

Figura 7: Conjunto con dimensión fractal 1.5, obtenido tras 4 iteraciones

\begin{tikzpicture}[scale = 0.2, line width = 0.1pt]


\draw
[l-system={rule set={F -> F+F-F-FF+F+F-F}, step=2pt,
angle=90, axiom=F-F-F-F, order=4}]

28 de mayo de 2021 Conjuntos fractales elaborados en LATEX 5


Hans López Herramientas Matemáticas 2021-1

lindenmayer system
;
\end{tikzpicture}

3. Definición de Sistemas de Lindenmayer en TikZ


La biblioteca de Lindenmayer ofrece un conjunto más elaborado de opciones que las esbozadas en
los códigos que permiten elaborar las Figuras 5 y 7. Por ejemplo, nótese como, en el código asociado
a la Figura 7, se ha modificado el factor de escala para visualizar el conjunto fractal con cuatro
(4) iteraciones y no con cinco (5). Otras alternativas que se pueden manejar son la de cambiar la
cantidad de puntos por paso y la de redefinir los sı́mbolos empleados para definir el axioma y las
reglas de producción. Por ejemplo, el siguiente código permite elaborar la imagen que se muestra
en la Figura 8:

\begin{tikzpicture}[l-system={angle=90, axiom=f, anchor=south west}]


\pgfdeclarelindenmayersystem{Fractal 1.465}{
\symbol{f}{\pgflsystemdrawforward}
\symbol{r}{\pgflsystemturnright}
\symbol{l}{\pgflsystemturnleft}
\rule{f -> flfrfrflf}
}

\draw (0,0) l-system


[l-system={Fractal 1.465, order=1, step=54pt}];
\draw (7,0) l-system
[l-system={Fractal 1.465, order=2, step=18pt}];
\draw (0,-4) l-system
[l-system={Fractal 1.465, order=3, step=6pt}];
\draw (7,-4) l-system
[l-system={Fractal 1.465, order=4, step=2pt}];

\end{tikzpicture}

28 de mayo de 2021 Conjuntos fractales elaborados en LATEX 6


Hans López Herramientas Matemáticas 2021-1

Figura 8: Primeras iteraciones de un conjunto de dimensión fractal 1.465

La libertad que ofrece la biblioteca de Lindenmayer, permite obtener una mayor variedad de
conjuntos fractales, además de los más conocidos. Por ejemplo, si se invierte el sentido de giro en
el axioma del copo de nieve de Von Koch, se puede construir el conjunto mostrado en la Figura 9.

\begin{tikzpicture}[l-system={angle=60, axiom=fllfllf, anchor=south west}]


\pgfdeclarelindenmayersystem{Fractal 1.2619}{
\symbol{f}{\pgflsystemdrawforward}
\symbol{r}{\pgflsystemturnright}
\symbol{l}{\pgflsystemturnleft}
\rule{f -> flfrrflf}
}
\draw (0,0) l-system
[l-system={Fractal 1.2619, order=1, step=54pt}];
\draw (7,0) l-system
[l-system={Fractal 1.2619, order=2, step=18pt}];
\draw (0,-5.5) l-system
[l-system={Fractal 1.2619, order=3, step=6pt}];
\draw (7,-5.5) l-system
[l-system={Fractal 1.2619, order=4, step=2pt}];
\end{tikzpicture}

28 de mayo de 2021 Conjuntos fractales elaborados en LATEX 7


Hans López Herramientas Matemáticas 2021-1

Figura 9: Primeras iteraciones de un conjunto de dimensión fractal 1.2619

Un último ejemplo, se muestra en la Figura 10.

\begin{tikzpicture}[l-system={angle=60, axiom=frrfrrf}]
\pgfdeclarelindenmayersystem{Fractal 1.2925}{
\symbol{f}{\pgflsystemdrawforward}
\symbol{r}{\pgflsystemturnright}
\symbol{l}{\pgflsystemturnleft}
\rule{f -> flfrrffllfrf}
}
\draw l-system
[l-system={Fractal 1.2925, order=4, step=0.8pt}];
\end{tikzpicture}

28 de mayo de 2021 Conjuntos fractales elaborados en LATEX 8


Hans López Herramientas Matemáticas 2021-1

Figura 10: Cuarta iteración de un conjunto de dimensión fractal 1.2925

Finalmente, si se desea revisar el conjunto completo de opciones que ofrece la biblioteca de Lin-
denmayer, se sugiere consultar el capı́tulo 57 de la versión 3.1.9a del manual de TikZ elaborado
por Tantau (2021, p. 699).

Referencias
Tantau, T. (2021). pgf – Create PostScript and PDF graphics in TEX. Descargado 2021-05-28,
de https://ctan.org/pkg/pgf
Voß, H. (2010). pst-fractal – Draw fractal sets using PSTricks. Descargado 2017-06-21, de
https://www.ctan.org/pkg/pst-fractal

28 de mayo de 2021 Conjuntos fractales elaborados en LATEX 9

También podría gustarte