Las figuras con la cualidad fractal de ser autosemejantes nos ofrecen la oportunidad de hacer bonitas animaciones basadas en ellas con efecto de "zoom infinito".
Por definición, cuando hacemos zoom para acercarnos a una zona de una figura autosemejante, el resultado "es" una figura "igual" a la original.
En este artículo, aprenderemos a aplicar un efecto zoom infinito con GeoGebra, basándonos en un fractal.
Este tipo de construcción podría servir como proyecto de aula para alumnos a partir de 4ºESO, en el que tendrán ocasión de poner en práctica sus conocimientos de
- Transformaciones del plano (homotecias y, según el fractal, traslaciones).
- Vectores y su aplicación a las traslaciones.
- Progresiones geométricas.
- Programas de geometría dinámica (GeoGebra).
- y por supuesto, elementos geométricos como los fractales.
Para llevar a cabo este proyecto, será preciso tener unos conocimientos básicos de GeoGebra. Hay una pequeña parte de ampliación para la que es recomendable tener algunos conocimientos sobre guiones y scripts.
El resultado será similar al que mostramos a continuación. Nos basaremos en el triángulo de Sierpinski, por ser uno de los fractales más sencillos de generar con GeoGebra:
¿En qué se basa la construcción?
- Para realizar la construcción, aprovecharemos que el triángulo de Sierpinski es autosemejante. Concretamente, al hacer homotecia de razón de semejanza 2 con centro en cualquiera de los tres vértices del triángulo exterior y recortar, se obtiene exactamente la misma figura.
- Como no podemos reproducir el proceso infinito de creación de la figura, se ha creado usando solo las primeras iteraciones; 7 en este caso.
- Pulsando el botón "Generar", podemos ver el proceso de creación y las primeras iteraciones. Fijémonos en que se basa en tener un conjunto de vértices sobre los cuales construiremos triángulos, todos iguales. En cada iteración, calculamos los nuevos vértices dividiendo a la mitad los lados de los triángulos que ya teníamos. La longitud de los lados de los nuevos triángulos también será la mitad.
- Una vez construidas esas primeras iteraciones del fractal, podemos ir aplicándole sucesivamente homotecias con centro en cualquiera de los extremos, aumentando la razón progresivamente hasta llegar a 2.
- En ese momento, volvemos a tener la figura inicial, con lo que podemos volver a la situación de partida, con razón de semejanza 1.
- Si hay suficientes vértices, el cambio no debería notarse, y podremos repetir el proceso.
Construcción en GeoGebra
Elementos de GeoGebra
Los pasos para hacer una construcción con efecto zoom infinito basada en una figura autosemejante serán:
- Generar una lista con las figuras. En este caso, los vértices en los que situaremos los triángulos, que denominaremos
verticesIteraciones
. - Mediremos el desarrollo de esta animación mediante un deslizador
animación
, entre 0 y 1, que medirá el porcentaje que llevamos desarrollado. - Podemos crear la animación combinando dos comandos, Homotecia y Poligonal, para unir los puntos. Para los triángulos, utilizaremos una poligonal en lugar de un polígono, para ahorrar el tiempo de computación de rellenar los triángulos. Considerar que para triángulos muy pequeños, la diferencia será mínima.
- Utilizaremos el valor de la variable
animacion
para controlar el valor del factor de homotecia, que tendrá que ser entre 1 y 2. - Elegiremos como centro de la Homotecia, cualquiera de los tres posibles extremos, y lo denominamos
PExtremo
. Con algunas modificaciones, podemos centrar la homotecia en el punto medio de ambos extremos. - Usando un incremento lineal,
1+animacion
, da la sensación de que la velocidad no es uniforme. Podemos modificarlo elevando la variable animacion a otro valor, que en este caso denominaremosvelAnima
, y le hemos dado el valor1.3
. - Para calcular la longitud de los lados del triángulo en cada iteración, consideramos que en cada paso se va dividiendo a la mitad, con lo que si los vértices iniciales son A, B y C, para la iteración número
numIt
podemos definir los vectores
vIteracion1 = 1 / 2^numIt Vector(A,B) vIteracion1 = 1 / 2^numIt Vector(A,C)
Uniendo todo lo anterior, ya sabemos que si tenemos la lista verticesIteraciones
, con los vértices inferiores izquierdos de los triángulos, podemos definir la animación del triángulo de Sierpinski con esta secuencia:
triangulosIteracion = Homotecia(Zip(
Poligonal({V, V + vIteracion1, V + vIteracion2, V}),
V, verticesIteraciones), 1 + animacion^velAnima, PExtremo)
Por supuesto, este procedimiento puede utilizarse para aplicar el efecto zoom infinito a otros tipos de fractales. La construicción será similar, salvo la forma de construir el fractal.
Por ejemplo, podemos intentar reproducir este efecto de zoom infinito en el copo de nieve de Koch.
En este artículo del IGEx puedes encontrar los detalles sobre la construcción
¿Has realizado tu propia construcción con fractales y zoom infinito? ¡Compártela con nosotros!
Esta entrada participa en la Edición 12.2: Carl Friedrich Gauss del
Carnaval de Matemáticas, que en esta ocasión organiza Gaussianos.