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

Creative Commons License
Esta obra está licenciada bajo una Licencia Creative Commons Atribución-Compartir Obras Derivadas Igual 2.5 España.

2. Preguntas, Dudas, Comentarios, Peticiones

Nombre:
Ciudad y País:
Email:
 

3. Enlaces

Página Principal


Generado con PureJoy.
Fecha: 02:52 - Mar 10, 2015