ContextFree: Dibujos a partir de gramáticas

Jueves, 10 agosto 2006

Siento que el actual post traiga malos recuerdos a algunos de mis amigos y a cualquiera que haya cursado alguna vez la asignatura de Compiladores o similar, pero el siguiente programa, aunque no es nada nuevo y lleva tiempo en otros blogs o páginas de frikys en general ;), es, cuanto menos, curioso; y me ha entretenido un rato.

Se trata, como su propio nombre trata de indicar, de un programa para, utilizando gramáticas libres de contexto, hacer dibujos basados en figuras primitivas (cuadrado, círculos y triángulos), deformándolas y repitiéndolas cuantas veces sea necesario para crear las figuras impresionantes que se pueden conseguir. Para muestra, un botón, aunque esta no tenga nada de increíble:

 

Pluma

 

…y aquí el código que ha generado esta mini-prueba:

startshape feather

rule feather {

SQUARE { size 0.1 0.1 }
SQUARE { r -0.3 y 0.1 size 0.1 0.1 }
SQUARE { r -0.6 y 0.2 size 0.1 0.1 }
feather2 { r -0.9 y 0.3 }

}

rule feather2 {

SQUARE { size 0.1 0.1 }// Rama izquierda
branch_left { y 0.025 r 70 s 0.4 }
branch_left { y -0.025 r 70 s 0.4 }

// Rama derecha
branch_right { y 0.025 r -70 s 0.4 }
branch_right { y -0.025 r -70 s 0.4 }
feather2 { r -0.3 y 0.1 s 0.985 b 0.01 h 0.1 sat 0.05 }

}

rule branch_left {

SQUARE { size 0.1 0.1 }
branch_left { r -1 y 0.1 s 0.97 b 0.01 }

}

rule branch_right {

SQUARE { size 0.1 0.1 }
branch_right { r 1 y 0.1 s 0.97 b 0.01 }

}

Lo mejor es que con pocos cambios se consiguen resultados sorprendentes. Pongo algunos ejemplos más de la misma imagen cambiando únicamente la rotación:

Pluma rotación 1º

Pluma rotación 3º

Pluma rotación 9º

Pluma rotación 20º

Finalmente, aquí tienen la dirección del programa, desde donde se lo podrán descargar y acceder a la galería (hay imágenes realmente increíbles)

ContextFree

¡Buena suerte a todos los que lo intenten, y espero me hagan llegar sus progresos!

 

 

Anuncios

3 comentarios to “ContextFree: Dibujos a partir de gramáticas”

  1. Andrés said

    Me has fallado, no has conseguido hacer el pueblo 😛

  2. […] Este post ha tardado demasiado en llegar, lo sé. Y es que aunque “Fractálidos” sea un término inventado (¿debería registrarlo?), el “palabro” sugiere que esta bitácora debería tener algo que ver con los susodichos fractales (Y algo se ha nombrado anteriormente por aquí). Por eso, he decidido que, ya que tengo un poco de tiempo, voy a hablar hoy un poco de los mismos, o más bien, de los tipos que existen. Los ejemplos que pondré serán aquellos que posean una representación gráfica definida, ya que los fractales se pueden usar por ejemplo en compresión de datos, pero para esta utilidad poco podría mostrar yo aquí, al menos de momento . Además, aprovechando la ocasión, cambio la imagen que encabeza la bitácora con una más a tono creada por mua en Gimp, usando el filtro de Llamas fractales, de las que hablaré más adelante. ¡Comenzamos! […]

  3. Impresionante, y aunque no tenga nada de increible(seguro?) me parece muy atractiva. Todavía no me he animado a probarlo. Tal vez, ya va siendo hora. Igual lo intento. Gracias!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: