Sistemas iterativos vs. sistemas recursivos


Estudio comparativo acerca de sistemas de reescritura y su implementación en modelos de estructuras emergentes de ramificaciones.

english | español

Inicio » Proyectos » Sistemas iterativos vs. sistemas recursivos

Resumen

Publicado en g.d.e.s.

Éste es un estudio acerca de los sistemas de reescritura (iterativos y recursivos) y su implementación en modelos formales de estructuras emergentes, específicamente estructuras de ramificaciones.

El desarrollo de diferentes modelos formales de sistemas iterativos (de bucle) y recursivos (auto-repetidos) se hace a través de programación: D0L-system (computación analógica), L-system (con programas basados en LParser) y RhinoScript. Se intenta llegar a soluciones formales similares con los diferentes métodos. Posteriormente se comparan los resultados obtenidos y su respectiva metodología.

El estudio está enmarcado dentro de mi investigación doctoral acerca de la extrapolación de los sistemas estructurales de los árboles para desarrollar arquitectura generativa.

El primer objetivo es adquirir conocimiento tanto en sistemas de reescritura como en técnicas de computación, pero también lo es saber cuál método está más cerca de la emergencia natural. Especialmente en lo referente a estructuras arbóreas.

Bifurcación iterativa (parte I)

Publicado en g.d.e.s.

Después de la experimentación con L-systems, el presente estudio se centra en RhinoScript. Usando la metodología de computación del L-system se han desarrollado scripts que construyen sistemas de bifurcación de ramas. En primer lugar se aborda el problema de la iteración (no recursiva).

La iteración se lleva a cabo a través de un bucle incremental. Previamente, el usuario introduce de los parámetros del sistema: cantidad de iteraciones, factor de desviación y factor de espesor de la rama. Cada iteración define un punto inicial y dos puntos finales para construir un par de ramas cilíndricas bifurcadas.

A medida que se va ramificando el sistema cambia el espesor de la rama y la apertura de la bifurcación. Ésta apertura se puede incrementar o disminuir según la función aplicada al desplazamiento del punto final, definiendo la desviación.

Para abreviar cuantificaciones, por ahora el sistema es bidimensional, lo que significa que la desviación de las ramas ocurre en x y el crecimiento en z.
En los casos de estudio se puede apreciar diferentes combinaciones de funciones para la desviación y el crecimiento: progresión creciente, decreciente y fija.

En la ejecución del script, la construcción del sistema no es automática sino interactiva: se detiene para que el usuario seleccione la rama a bifurcar, con lo cual se puede decidir la estructura a construir.

La última imagen muestra una comparación de diferentes estructuras construidas con un mismo sistema, aplicando los mismos parámetros.

Pérgola arbórea

Publicado en g.d.e.s.

Éste es un sencillo ejemplo de las muchas aplicaciones que ofrece el sistema de ramificación iterativa desarrollado anteriormente.

Se trata de una pérgola sostenida por estructuras arbóreas, creadas con un mismo sistema, variando los parámetros de la función que calcula la desviación en x, pero manteniendo los parámetros de crecimiento en z.

La pérgola como tal está hecha de NURBS uniendo los puntos finales de cada última rama.

El objeto resultante podría verse como una escultura de escala arquitectónica. En esta etapa, no se ha hecho ningún cálculo estructural.

Gracias a Gonçalo Castro Henriques por la referencia.

Bifurcación iterativa (parte II)

(En desarrollo)

Imágenes


D0L-systems


Árboles L-system


Bifurcación iterativa: script


Bifurcación iterativa: funciones diferentes


Bifurcación iterativa: estructuras diferentes


Pérgola arbórea: diseño


Pérgola arbórea: vista 1


Pérgola arbórea: vista 2