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:

…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:




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)
¡Buena suerte a todos los que lo intenten, y espero me hagan llegar sus progresos!
Me has fallado, no has conseguido hacer el pueblo
[...] 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! [...]
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!