Curvas Fractales

Curvas fractales o recursivas, usando el lenguaje de programación Logo (Intérprete FMSLogo).

Las curvas fractales son dibujos que se definen repitiéndose a si mismos a diferentes niveles. Un ejemplo típico es la Curva de Hilbert. A continuación mostramos la construcción de una curva de Hilbert de orden 3 (o nivel 3) usando el lenguaje de programación Logo:

Imagen: fractal

Estas curvas pueden ser dibujadas usando procedimiento recursivos, es decir procedimientos que se llaman a si mismos. La curva de Hilbert de orden 1 es la más sencilla y constituye el caso base. Podría definirse así:

para hilbert_1
giraizquierda 90
segmento
giraderecha 90
segmento
giraderecha 90
segmento
giraizquierda 90
fin

para segmento
avanza 200
fin

Imagen: curva fractal 1



Usando la curva de orden 1 como base, podemos definir la curva de orden 2, así:
para hilbert_2
giraizquierda 90
hilbert_1 -90
segmento
giraderecha 90
hilbert_1 90
segmento
hilbert_1 90
giraderecha 90
segmento
hilbert_1 -90
giraizquierda 90
fin

para hilbert_1 :ang
giraizquierda :ang
segmento
giraderecha :ang
segmento
giraderecha :ang
segmento
giraizquierda :ang
fin

para segmento
avanza 200 / (4 - 1)
fin

Imagen: curva fractal 2



Ya que ambos procedimientos tienen la misma estructura puede definirse un procedimiento general:
para hilbert :nivel :angulo
si :nivel < 1 [alto]

giraizquierda :angulo
hilbert :nivel - 1 (cambiasigno :angulo) 
segmento
giraderecha :angulo
hilbert :nivel - 1 :angulo 
segmento
hilbert :nivel - 1 :angulo 
giraderecha :angulo
segmento
hilbert :nivel - 1 (cambiasigno :angulo) 
giraizquierda :angulo 
fin

para segmento
poncolorlapiz :nivel
avanza :tam
fin

Para centrar la curva fractal en la pantalla y para definir correctamente la longitud de cada segmento usamos el procedimiento curva:

para curva :nivel
haz "tam 200 / (-1 + potencia 2 :nivel) 

borrapantalla
subelapiz ponpos [100 -70] bajalapiz

hilbert :nivel 90
fin

Los estructuras fractales en general tienen la propiedad de auto-similitud. Es decir que, si observamos una parte de la estructura como con un microscopio lo que observamos es similar, a lo que observamos a simple vista.

Imagen: curva fractal 3

Imagen: curva fractal 4

Imagen: curva fractal 5

Imagen: curva fractal 6


La curva fractal de Hilbert tiene la curiosa propiedad de que cuando el orden de la curva tiende al infinito, la curva tiende a cubrir el espacio. Es decir, el límite de esta curva unidimensional cubre un espacio bi-dimensional cuadrado.

Imagen: curva fractal 7

Imagen: curva fractal 8


1. Licencia

Este es un documento libre.

Autor: Daniel Ajoy

Licencia Creative Commons
Esta obra está bajo una Licencia Creative Commons Atribución-CompartirIgual 3.0 Unported.

2. Preguntas, Dudas, Comentarios, Peticiones

Síguenos en Facebook

3. Enlaces

Lenguaje de Programación Logo


Generado con PureJoy. Creación: 11:49 - Dec 15, 2017. Última Modificación: 17:11 - Apr 02, 2023