frikearq
grasshoppermanual básico de
aplicado al diseño de Arquitectura
.com
edición Abril 2010para Grasshopper versión 0.6.0057
0
1
2
3
4
Qué es y cómo funciona Grasshopper
Componentes lógicos. Programación visual
Componentes geométricos
Diseño paramétricoComponentes escalares. Las matemáticas de Grasshopper
- ¿Qué es Grasshopper?- Interfaz gráfica- Objetos. Tipos y modos de visualización- Datos. Tipos. Modos de entrada. Listas
- Operadores comparativos, booleanos y condi-cionales- Gestión de listas
- Constantes- Operadores escalares- Operadores trigonométricos- Funciones- Intervalos, rangos y series
- Vectores- Puntos. Nubes de puntos- Curvas. Rejillas- Superficies. Panelización
- Transformaciones- Intersecciones- Morphing - Sistemas paramétricos
índice
AAnexo: enlaces web
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
00.0 ¿Qué es Grasshopper?
Qué es y cómo funciona Grasshopper
- plugin programa que corre “dentro” de otro programa. En este caso, Grasshopper toma instancias de clases de objetos de Rhino y lo utiliza como entorno de visualización
- fase de desarrollo en fase de pruebas: aparecen nuevas versiones continuamente, el código no está completamente depurado, puede haber errores, comandos que no funciones, el programa se puede colgar con facili-dad, no hay traducciones
- intérprete “continuo” los eventos de Grasshopper se actualizan continuamente, refrescando su visu-alización en Rhino, a no ser que los detengamos
- programación visual Grasshopper emplea el paradigma de la programaci’on visual, “conectando caji-tas”; es similar a de escribir código en cualquier lenguaje de programación, pero no es necesario tener conocimientos de ningún lenguaje, pero sí entender cómo se gestionan los datos y las acciones
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
0.1 Interfazgráfica
MENÚ PRINCIPAL
PANEL DE COMPONENTES
BARRA DE HERRAMIENTAS
LIENZO
(con doble click, búsqueda de comandos)
BARRA DE ESTADO
NAVEGADOR
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
0.2 Objetos. Tipos y modos de visualización
entrada de datos (si es necesaria)
entrada de datos
salida de datos
salida de datos
TIPOS DE OBJETOS
almacena datos
fabrica y gestiona
datos
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
MODOS DE VISUALIZACIÓN
ALGUNOS OBJETOS “ESPECIALES” QUE MÁS VAMOS A EMPLEAR
* Panel
* Receiver * Slider
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
0.3 Estructura de datos: listas. Modos de entrada de datos
ESTRUCTURA DE DATOS
- persistente denota información que es poco probable que sea modificada y siempre preserva su versión an-terior cuando ha sido modificado. P. ej. cualquier dato que almacenemos en los parámetros
- no persistente (volátil) es una estructura de datos dinámica, es decir, que es susceptible de ser modificada mientras el usuario está accediendo a su sesión archivo. P. ej. un slider
(está relacionado con el modo de almacenar datos en memoria por parte del programa. se trata de una noción a tener en cuenta cuando estamos trabajando para evitar fallos, “cuelgues” del programa, más probables en tanto en cuanto estamos utilizando un software en fase de desarrollo)
LISTAS
Todos los datos, tanto persistentes como volátiles, están implementados en Grasshopper en formato de listas. Una lista es una estructura en la que los datos están almacenados con las siguientes características:
- sucesión de datos (se colocan “uno detrás de otro”)
- el orden es relevante ({A, B, C} no es igual que {C, B, A})
- la longitud está determinada (“list length”)
- se accede a los datos refiriendose al índice dentro de la sucesión
- el primer objeto tiene el índice cero
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
MODOS DE ENTRADA DE DATOS
- como input (cable)
- menús contextuales (click con el botón derecho) - set values - manage data collection - expression
- conexión con objetos existentes en el archivo de Rhino
CORRESPONDENCIA DE DATOS ENTRE LISTAS DE OBJETOS
shortest list toma como referencia la lista con el índice menor
A B
3 modos de correspondencia de datos
longest list toma como referencia la lista con el índice mayor
cross reference une todos los elementos con todos
0 dato0 dato0
dato1 dato1dato2 dato2dato3 dato3
dato4dato5
123
índice índice012345
????
0123
012345
0
0
1
1
2
2
3
3
0
0
1
1
2
2
3
3
4
4
5
5
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
1Componentes escalares. Las matemáticas de Grasshopper
1 el texto que se muestra entre corchetes y con la tipografía como “[pi]”es para expresar lo que se debe introducir para hacer la búsque-da en la ventana encabezada con “Enter a serch keyword ... ”, que aparece en el lienzo al hacer doble click con el botón izquierdo.
1.1 Constantes
- Π [pi]1 - е [natural logarithm] - φ [phi] - ε [epsilon]
1.2 Operadores escalares
- suma [addition] - resta [subtraction]
- multiplicación [multiplication] - division [division]
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
1.3 Operadores trigonométricos
1.3 Funciones
- potencia [power] - 10x [power] - 2x [power] - еx [power]
- seno [sine]
- arco seno [arcsine]
- coseno [cosine]
- arco coseno [arccosine]
- tangente [tangent]
- arco tangente [arctan-gent]
2 las unidades de los ángulos en Grasshopper son radianes (Π rad ≡ 180º)
- factorial [factorial] - logaritmo neperiano [natural logarithm]
- logaritmo base 10 [logarithm]
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
(funciones “personalizadas”)
- módulo [modulus]- logaritmo base N [natural logarithm]
- funciones de una, dos, tres y n variables [function]
También podemos introducir la expresión de la función haciendo doble click en el centro del parámetro
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
1.4 Intervalos, rangos, series
Estructura paramétrica _ malla de pilares con intervalos
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
Estructura paramétrica _ malla de pilares con series
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
2Componentes lógicos. Programación visual
2.1 Sentencias condicionales. Operadores comparativos y booleanos.
En Grasshopper tenemos una serie de componentes de funciones comparativas precargadas, que comparan dos listas de datos y nos devuelve una lista de valores booleanos. Booleano es un tipo de dato lógico que puede repre-sentar el valor binario verdadero o falso. Las funciones comparativas de nuestra versión de Grasshopper son:
Sin embargo, podemos hacer lo mismo que lo anterior mediante un componente función.
- mayor [larger] - menor [smaller] - igualdad [equality] - similitud [similarity]
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
Existen, también, unos operadores booleanos que combinan listas de valores booleanos con operaciones lógicas :
La estructura que vamos a seguir para ejecutar una orden condicional es la siguiente:
listas de datos que queremos evaluar
resultado de la
evaluación
(lista de valores booleanos)
filtrado de los datos iniciales a través del resultado
evaluación de los datos
(generalmente comparación)
- unión [and] - intersección [or] - complemento [not]
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
Estructura paramétrica _ malla de pilares con condicionales
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
2.2 Gestión de listas. Operaciones sobre listas
índice
índice dato
0 1 2 3 4 5 6 7 8 91er ÍTEM
longitudúltimo ÍTEM
dato dato datodato dato datodato dato dato dato
- list item
- list length
Este componente sirve para extraer ítemes concretos de listas. Tiene tres entradas: L para la(s) lista(s) de la(s) que queremos extraer el item, I para el índice que queremos obtener y W (wrap).
Este componente nos da la cantidad de ítemes de una lista y tiene tan sólo una entrada: L para la(s) lista(s) de la(s) que queremos extraer la longitud.
- sub list
Sub list extrae los ítemes de una lista dentro de un(os) intervalo(s). L es la entrada para la(s) lista(s) e I para el dominio. Las salidas son L para la lista re-sultado e I para los índices.
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
- shift list
- sort list
Desplaza el orden de los ítemes de la lista las posi-ciones que indiquemos. Tiene tres entradas: L para la(s) lista(s), S para la cantidad de posiciones y W si queremos dar la vuelta a la lista.
Sort list ordena listas. Las entradas y salidas K orde-nan la lista de menor a mayor y A ordena otra lista con el mismo patrón con los que se ha ordenado K.
- reverse list
Este componente modifica el orden de una lista, colocándo los ítemes en el orden inverso de la lista. Tiene tan sólo una entrada: L para la(s) lista(s) que queremos invertir.
- split list
Split list divide una lista en dos a partir de un índice. Tiene dos entradas: L para la(s) lista(s) e i para el ín-dice desde el que dividir la lista. Las salidas son A y B, las dos listas resultado.
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
Cubierta para la malla de pilares
Para practicar estas nociones, haremos una cubierta para la malla de pilares que hemos hecho anteriormente. Se trata de un ejercicio poco práctico, ya que seguramente no haríamos una cubierta de este modo, pero no servirá para practicar con los con-ceptos de list item y list length.
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
Triangulación I _ malla de pilares
- cull nth [cull nth] - cull pattern [cull pattern]Elimina ítemes según una frecuencia, es decir, cada n ítemes. Tiene 2 entra-das: L para la(s) lista(s), N para la frecuencia.
El modo en que vamos a triangular nuestra estructura es uniendo con una recta la lista de los puntos de base con el siguiente de los puntos
de coronación. Para ello emplearemos el componente “shift list. Vamos a introducir el componente “cull”, que elimina ítemes de listas.
Elimina ítemes según un patrón de valores booleanos. Tiene 2 entra-das: L para la(s) lista(s), N para la frecuencia.
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
Los archivos de Grasshopper están estructurados con formato “ramificado”, como si fuera un árbol. A medida que se van añadiendo instrucciones, esta estructura crece y se va tomando diferentes rutas (paths).
Los archivos parten de una ruta principal, la lista origen y van generándose listas de listas cuando se añaden órdenes. De este modo, las rutas se van añdiendo unas a otras y, de este modo, se puede volver hacia atrás y ac-ceder a todos los datos que estamos manejando.
ESTRUCTURA DE ÁRBOL DE LOS ARCHIVOS DE GRASSHOPPER
Fuente: Grasshopper Primer for version 0.6.0007
rama
rama
rama
rama
rama
índice dato
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
Visualización de árboles de Grasshoper
Para visuali-zar la estruc-tura de una lista, utiliza-mos el com-ponente pa-ram viewer. Podemos es-coger entre una vista tex-tual, por de-fecto, y una vista gráfica, “draw tree” (abajo).
Paths nú-mero de ra-mas que hay.
{ 0 ; 0 ; 0 } ruta de la rama.
N número de ítemes en cada rama. representación
de esta lista
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
- tree branch
- tree item
Con este componente extraemos ramas de una estructura de ár-bol. Tiene dos entradas: T para la(s) estructura(s) de árbol de la que queremos extraer una rama, P para el ruta de la rama que queremos obtener. Las ru-tas de las ramas son cadenas de caracteres.
Con este componente ex-traemos ítemes dentro de ra-mas de una estructura de árbol. Tiene cuatro entradas: T para la(s) estructura(s) de árbol de la que queremos extraer una rama, P para el ruta de la rama que queremos obtener, i para el índice del item y W para wrap. Los índices de listas son enter-os.
Se pueden realizar las mismas operaciones que con listas, pero con distintos componentes y, sobre todo, diferente sintaxis.
Operaciones sobre estructura de árboles
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
- flatten tree
- graft tree
“Flatten tree” convierte una estructura de diversas ramas en otra de una sola rama. Es decir hace de una lista de sublistas una lista única. En D insertamos la estructura y con P decidimos la ruta en la que colocamos esa lista.
Con “graft tree” hacemos la op-eración contraria: convertimos en una rama cada item de la lista original.
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
- explode tree
- merge/merge03/merge multiple
Extrae las ramas de una estruc-tura de árbol una por una. Se añaden salidas haciendo click con el botón derecho en “out-put manage”.
Merge combina las listas de estructuras de árbol, teniendo en cuenta las rutas de dichas estructuras de árbol, dando lugar a una lista de listas con las rutas correspondientes.
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
Estructura paramétrica _ triangulación II _ “gusano paramétrico”
+
(con shift presionado)
Formatear números como cadena de caracteres: acceso a ramas
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
3Componentes geométricos
3.1 Vectores
Vector solar I
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
3.2 Puntos
Vector solar II
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
3.3 Curvas
Curva por puntos tangentes a otra curva
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
Fuente: escofet.com
3.4 Superficies
Superficie por puntos
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
Panelización de superficies
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
4Diseño paramétrico de Arquitectura
Parametrización de estructuras
A modo de repaso de lo visto hasta ahora, vamos a parametrizar una estructura sencilla: el Monumento a los judíos asesinados, en Berlín, del arquitecto Peter Eisenman, en colaboración con Büro Happold.
Fuente: Wikipedia
“El Monumento a los judíos de Europa asesinados (en alemán, Denkmal für die ermordeten Juden Europas), también conocido como Holocaust-Mahnmal o Monumento del holocausto, es un monumento que recuerda en Berlín a los judíos víctimas del holocausto.Fue diseñado por el arquitecto Peter Eisenman y por el ingeniero Buro Hap-pold. Se trata de un campo inclinado de 19000 metros cuadrados cubierto por una rejilla cuadriculada en la que están situadas 2711 estelas o losas de hormigón. Estas losas tienen unas dimensiones de 2.38m de largo y 0.95m de ancho, y varían en cuanto a su altura, desde los 0.2 m a los 4.8m. (...)”
Fuente: es.wikipedia.org
NOTA: las medidas y número de losas originales dan lugar a un archivo muy pesado, así que emplearemos una superficie de 1900 m2 y 271 lo-sas.
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
Sendai
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
Lucernarios paramétricos I
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
Lucernarios paramétricos II
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
AAnexo: enlaces web
http://www.grasshopper3d.com/
http://en.wiki.mcneel.com/default.aspx/McNeel/ExplicitHistoryExamples.html
http://dimitrie.wordpress.com/
http://dritsas.net/doku.php
http://www.theverymany.net/
http://spacesymmetrystructure.wordpress.com/
http://rethinkarchitecture.blogspot.com/
http://www.livearchitecture.net/
http://www.giuliopiacentino.com/
http://tedngai.net/experiments.html
http://www.michael-hansmeyer.com/
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopperfrikearq .com manual básico deaplicado al diseño paramétrico
grasshopper
Top Related