Inicio > Artículos, Programación > Explorando fractales en Context Free

Explorando fractales en Context Free

Martes, 28 de diciembre de 2010
Citar este artículo 855 visitas
Explorando fractales en Context Free

En abril y mayo estuve explorando la última versión de Cinderella, especialmente en cuanto a las transformaciones geométricas y fractales. En tales ocasiones mostré cómo se podían definir semejanzas para construir fractales, utilizando los Sistemas de Funciones iteradas.

En esta ocasión voy a mostrar ideas muy similares, pero con un enfoque más numérico, en Context Free.

Así, con ayuda de un poco de JavaScript, implemento algunos elementos para modificar los parámetros con los que se construyen algunos fractales.

Desde Noviembre he venido mostrando algunos ejemplos de Context Free, como son:

Mientras que en otros posts he mostrado cómo definir transformaciones y sistemas de funciones iteradas en Cinderella, para construir fractales:

Este post reúne ideas de ambas líneas.

Variedades de un fractal

Geométricamente, la idea de fractal suele entenderse como una “figura” formada por la iteración de transformaciones.
Esta animación ilustra tal proceso, donde una primera transformación T1 transforma un cuadrado en otro, de 1/4 de su tamaño, justo en la esquina superior izquierda.
La segunda transformación, T2, lo transforma en otro de 3/4 de su tamaño, girado en 45º y “apoyado” sobre el otro cuadrado.
Ahora bien, el fractal se genera al iterar ambas transformaciones “infinitas” veces, es decir, mientras más iteraciones, más se aproximará a este fractal.

En los siguientes ejemplos se pueden modificar algunos de los parámetros de estas construcciones. Por ejemplo, modificar el ángulo de giro del segundo cuadrado, de manera, que se puede observar cómo cambia el fractal a medida que se modifica este parámetro.

Fractales: 1 | 2 | 3 | 4

Controles

Rotación
0

Traslación (x)
0

Traslación (y)
0

Escala
0


Cuadrado 1

Rotación
0

Traslación (x)
0

Traslación (y)
0

Escala
0


Cuadrado 2

Rotación
0

Traslación (x)
0

Traslación (y)
0

Escala
0


Controles

Rotación
0

Traslación (x)
0

Traslación (y)
0

Escala
0


Controles

Rotación
0

Traslación (x)
0

Traslación (y)
0

Escala
0


Uso de los controles

Estos ejemplos se generan utilizando la sintaxis de Context Free, con el uso de Algorithm Ink.

Con los controles ubicados a la derecha, es posible modificar traslaciones horizontales (x) o verticales (y), giros y escalas de una o dos transformaciones.

Para ver qué transformación se está modificando, basta con hacer clic en “Mostrar cuadrados”, y se mostrarán tres cuadrados: uno inicial y otros dos generados cada uno por una transformación.

Es interesante observar cómo en el origen de estructuras tan complejas como los fractales, hay ideas esencialmente simples. Este tipo de fractales, hacen uso de muchas figuras, todas son cuadrados y normalmente son cientos de miles las que se construyen (en estos ejemplos, 131.000 en promedio), de hecho, el algoritmo se detiene cuando las figuras tienen un tamaño inferior a un pixel.

Cabe destacar que estos no son fractales propiamente tales, pero gracias a algunos ajustes de colores y brillo es posible obtener buenas aproximaciones. En fin, con estas ideas estoy trabajando en estos días, y dejo este post como una muestra de formas prácticas para experimentar con fractales.

Artículos, Programación , , , , ,

Artículo publicado en http://www.geometriadinamica.cl/2010/12/explorando-fractales-en-context-free/.