La curva "dragón"
La conocida curva "dragón" fue descubierta por el físico John E. Heighway. Se puede reproducir la curva doblando una tira de papel larga en dos varias veces y después desplegándola, pero dejando los pliegues formando un ángulo de 90 grados. El resultado recuerda ligeramente a un dragón, de ahí su nombre.Fractal generado recursivamente
La tortuga dibuja la curva desde un extremo al otro girando a derecha e izquierda según lo necesite. El procedimento dragon se llama recursivamente, con una paridad positiva (+1) o negativa (-1), lo que determina si el giro es hacia la derecha o la izquierda de :angulo grados.
para empezar :orden nuevo inicializar :orden leyenda :orden ponposicion [-108 0] poncolorlapiz verde bajalapiz giraderecha (45 *:orden)+90 # orientaciones similares de las curvas dragon :orden 1 fin para nuevo # Inicializamos papel, lapiz y tortuga reponetodo pontamañopantalla [400 400] poncalidaddibujo 1 poncolorpapel negro poncolorlapiz verde subelapiz ocultatortuga fin para inicializar :orden # haz tam y angulo variables globales haz "tam 11*potencia (raizcuadrada 2) (9-:orden) haz "angulo 90 fin para leyenda :orden # Muestra encabezado y nivel de curva poncolorlapiz blanco ponposicion [-190 184] rotula frase [Curva dragon de nivel] :orden fin para dragon :orden :paridad si :orden < 1 [avanza :tam alto] # o sea, si = 0 dragon :orden-1 1 giraizquierda :paridad*:angulo # giraizquierda o giraderecha :angulo grados dragon :orden-1 cambiasigno 1 fin |
para empieza nuevo animacion repitepara [orden 0 11] [ limpia # Comenta este "limpia" para ver las curvas superpuestas inicializar :orden leyenda :orden ponposicion [-108 0] poncolorlapiz 1 + resto :orden 2 bajalapiz # rojo o verde giraderecha (45 *:orden)+90 # orientaciones similares de las curvas dragon :orden-1 refrescar espera 80 subelapiz centro] detieneanimacion fin |
para empieza :orden nuevo inicializar :orden leyenda :orden repitepara [tortuga 1 4] [ pontortuga :tortuga poncolorlapiz :tortuga bajalapiz giraderecha (:tortuga * 90) + (45 *:orden)+45 dragon :orden-1 espera 40] fin para inicializar :orden # hacemos tam y angulo globales haz "tam 9*potencia (rc 2) (9-:orden) haz "angulo 90 fin |