Grasshopper by Guillermo Ramirez+Miguel Vidal

Page 1

frikearq .com manual b谩sico de

grasshopper aplicado al dise帽o de Arquitectura

edici贸n Abril 2010 para Grasshopper versi贸n 0.6.0057


frikearq .com

manual básico de aplicado al

0

Qué es y cómo funciona Grasshopper

1

3

Componentes geométricos

- ¿Qué es Grasshopper?

- Vectores

- Interfaz gráfica

- Puntos. Nubes de puntos

- Objetos. Tipos y modos de visualización

- Curvas. Rejillas

- Datos. Tipos. Modos de entrada. Listas

- Superficies. Panelización

Componentes escalares. matemáticas de Grasshopper

Las

- Constantes

4

Diseño paramétrico - Transformaciones

- Operadores escalares

- Intersecciones

- Operadores trigonométricos

- Morphing

- Funciones

- Sistemas paramétricos

- Intervalos, rangos y series

2

grasshopper

diseño paramétrico

Componentes lógicos. Programación visual - Operadores comparativos, booleanos y condicionales - Gestión de listas

A

Anexo: enlaces web índice


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico

0

Qué es y cómo funciona Grasshopper

0.0 ¿Qué es 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 facilidad, no hay traducciones

- intérprete “continuo” los eventos de Grasshopper se actualizan continuamente, refrescando su visualización en Rhino, a no ser que los detengamos

- programación visual Grasshopper emplea el paradigma de la programaci’on visual, “conectando cajitas”; 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


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico

0.1 Interfaz gráfica MENÚ PRINCIPAL

NAVEGADOR

PANEL DE COMPONENTES BARRA DE HERRAMIENTAS

LIENZO

(con doble click, búsqueda de comandos)

BARRA DE ESTADO


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico

0.2 Objetos. Tipos y modos de visualización

TIPOS DE OBJETOS

entrada de datos (si es necesaria)

salida de datos

salida de datos entrada de datos

almacena datos

fabrica y gestiona datos


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico

MODOS DE VISUALIZACIÓN

ALGUNOS OBJETOS “ESPECIALES” QUE MÁS VAMOS A EMPLEAR * Panel

* Receiver

* Slider


frikearq .com

manual básico de aplicado al

grasshopper

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 anterior 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

-

el orden es relevante

-

la longitud está determinada

-

se accede a los datos refiriendose al índice dentro de la sucesión

-

el primer objeto tiene el índice cero

(se colocan “uno detrás de otro”) ({A, B, C} no es igual que {C, B, A}) (“list length”)


frikearq .com

manual básico de aplicado al

grasshopper

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

B

A índice 0 1 2 3

shortest list toma como referencia la lista con el índice menor

índice dato0 dato1 dato2 dato3

?? ??

0 1 2 3 4 5

dato0 dato1 dato2 dato3 dato4 dato5

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 1 2 3

0 1 2 3 4 5

0 1 2 3

0 1 2 3 4 5

0 1 2 3

0 1 2 3 4 5


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico

1

Componentes escalares. Las matemáticas de Grasshopper 1.1 Constantes -

Π

1 [pi]

-

е

[natural logarithm]

-

φ

-

[phi]

ε

[epsilon]

1.2 Operadores escalares -

suma [addition]

-

multiplicación

1

[multiplication]

-

resta [subtraction]

-

division

[division]

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úsqueda en la ventana encabezada con “Enter a serch keyword ... ”, que aparece en el lienzo al hacer doble click con el botón izquierdo.


frikearq .com -

manual básico de aplicado al

potencia

[power]

-

10x

[power]

-

2x

grasshopper

diseño paramétrico

-

[power]

еx

[power]

1.3 Operadores trigonométricos -

seno

-

arco seno

-

tangente

[arccosine]

-

arco tangente

logaritmo neperiano

-

logaritmo base 10

-

coseno

[arcsine]

-

arco coseno

[factorial]

-

[sine]

[cosine]

gent]

[tangent]

[arctan-

1.3 Funciones -

factorial

[natural logarithm]

2

las unidades de los ángulos en Grasshopper son radianes (Π rad ≡ 180º)

[logarithm]


frikearq .com -

logaritmo base N

manual básico de aplicado al

-

módulo

grasshopper

diseño paramétrico

[modulus]

[natural logarithm]

(funciones “personalizadas”) -

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


frikearq .com

manual básico de aplicado al

1.4 Intervalos, rangos, series

Estructura paramétrica _ malla de pilares con intervalos

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com Estructura paramétrica _ malla de pilares con series

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico

2

Componentes 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 representar el valor binario verdadero o falso. Las funciones comparativas de nuestra versión de Grasshopper son: -

mayor

[larger]

-

menor

[smaller]

-

igualdad

[equality]

-

similitud

Sin embargo, podemos hacer lo mismo que lo anterior mediante un componente función.

[similarity]


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico

Existen, también, unos operadores booleanos que combinan listas de valores booleanos con operaciones lógicas : -

unión

[and]

-

intersección

[or]

-

complemento

[not]

La estructura que vamos a seguir para ejecutar una orden condicional es la siguiente:

listas de datos que queremos evaluar

evaluación de los datos (generalmente comparación)

resultado de la evaluación (lista de valores booleanos)

filtrado de los datos iniciales a través del resultado


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico

Estructura paramétrica _ malla de pilares con condicionales


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico

2.2 Gestión de listas. Operaciones sobre listas dato dato datodato dato dato dato dato dato dato

índice

0

1

2

3

4

5

6

7

8

9

último ÍTEM

1er ÍTEM longitud

list item

-

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). -

list length

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 resultado e I para los índices.

índice

dato


frikearq .com -

shift list

Desplaza el orden de los ítemes de la lista las posiciones 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

Sort list ordena listas. Las entradas y salidas K ordenan 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 índice desde el que dividir la lista. Las salidas son A y B, las dos listas resultado.

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

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 conceptos de list item y list length.


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico

Triangulación I _ malla de pilares 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. -

cull nth

[cull nth]

Elimina ítemes según una frecuencia, es decir, cada n ítemes. Tiene 2 entradas: L para la(s) lista(s), N para la frecuencia.

-

cull pattern

[cull pattern]

Elimina ítemes según un patrón de valores booleanos. Tiene 2 entradas: L para la(s) lista(s), N para la frecuencia.


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico

ESTRUCTURA DE ÁRBOL DE LOS ARCHIVOS DE GRASSHOPPER 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 acceder a todos los datos que estamos manejando.

rama

rama

rama

rama

rama

Fuente: Grasshopper Primer for version 0.6.0007

índice

dato


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico

Visualización de árboles de Grasshoper Para visualizar la estructura de una lista, utilizamos el componente param viewer. Podemos escoger entre una vista textual, por defecto, y una vista gráfica, “draw tree” (abajo).

Paths

número de ramas que hay.

{0;0;0} ruta de rama.

la

N

número de ítemes en cada rama.

representación de esta lista


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico

Operaciones sobre estructura de árboles Se pueden realizar las mismas operaciones que con listas, pero con distintos componentes y, sobre todo, diferente sintaxis.

-

tree branch

Con este componente extraemos ramas de una estructura de árbol. 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 rutas de las ramas son cadenas de caracteres. -

tree item

Con este componente extraemos ítemes dentro de ramas 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 enteros.


frikearq .com -

flatten 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.

-

graft tree

Con “graft tree” hacemos la operación contraria: convertimos en una rama cada item de la lista original.

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com -

manual básico de aplicado al

grasshopper

diseño paramétrico

explode tree

Extrae las ramas de una estructura de árbol una por una. Se añaden salidas haciendo click con el botón derecho en “output manage”.

-

merge/merge03/merge multiple

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.


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico

Formatear números como cadena de caracteres: acceso a ramas

Estructura paramétrica _ triangulación II _ “gusano paramétrico”

+

(con shift presionado)


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

3

Componentes geométricos 3.1 Vectores

Vector solar I

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

3.2 Puntos

Vector solar II

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

3.3 Curvas

Curva por puntos tangentes a otra curva

manual bĂĄsico de aplicado al

grasshopper

diseĂąo paramĂŠtrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

3.4 Superficies

Superficie por puntos

Fuente: escofet.com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com Panelización de superficies

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico

4

Diseñ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. “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 Happold. 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

Fuente: Wikipedia

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 losas.


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

Sendai

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

Lucernarios paramétricos I

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

Lucernarios paramétricos II

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico

A

Anexo: 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/


frikearq .com

manual básico de aplicado al

grasshopper

diseño paramétrico

grasshopper


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.