SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
introducción al
diseño generativo
   con grasshopper
               miguel vidal calvet
      guillermo ramírez camarero
              www.frikearq.com
diseño generativo
Christopher Wren, 51 iglesias a partir del plan de reconstrucción de Londres.
procesos
iniciación al                                                 Guillermo Ramírez Camarero
diseño generativo                                                       Miguel Vidal Calvet
con Grasshopper                                                          www.frikearq.com




    idea              modelo             implementación
                      matemático            (código fuente)
                    (leyes de relación
                       entre objetos)
iniciación al                                                 Guillermo Ramírez Camarero
diseño generativo                                                       Miguel Vidal Calvet
con Grasshopper                                                          www.frikearq.com




                                             información




    idea              modelo             implementación
                      matemático            (código fuente)
                    (leyes de relación
                       entre objetos)




                                             resultados
iniciación al                                 Guillermo Ramírez Camarero
diseño generativo                                       Miguel Vidal Calvet
con Grasshopper                                          www.frikearq.com




     2 paradigmas


                    - diseño paramétrico



                    - diseño discriminativo
iniciación al                     Guillermo Ramírez Camarero
diseño generativo                           Miguel Vidal Calvet
con Grasshopper                              www.frikearq.com



                     datos datos




                      algoritmo




                      resultados




proceso de
diseño paramétrico
iniciación al                                       Guillermo Ramírez Camarero
diseño generativo                                             Miguel Vidal Calvet
con Grasshopper                                                www.frikearq.com



                                       datos datos




                                        algoritmo




                                        resultados

                        algoritmo de
                                        evaluación
                         selección                               no
                                              sí

proceso de                              resultados
diseño discriminativo
aplicaciones prácticas
iniciación al                                            Guillermo Ramírez Camarero
diseño generativo                                                  Miguel Vidal Calvet
con Grasshopper                                                     www.frikearq.com




01 diseño del proceso y no de un resultado concreto.



02 posibilidad de gestionar complejidad de datos.



03 generación de soluciones adaptadas a condiciones de contorno.
grasshopper
iniciación al                                           Guillermo Ramírez Camarero
diseño generativo                                                 Miguel Vidal Calvet
con Grasshopper                                                    www.frikearq.com




¿qué es Grasshopper?
01 plug-in para Rhinoceros.
02 entorno de programación visual.
03 intérprete.

algunas recomendaciones en el uso de Grasshopper

01 higiene visual.
02 esquema de flujo de datos antes de empezar.
03 sacar paneles informativos.
04 hacer comentarios de lo que se vaya haciendo.
05 personalizar nombres de componentes y poder hacer búsquedas.
iniciación al                                                                      Guillermo Ramírez Camarero
diseño generativo                                                                            Miguel Vidal Calvet
con Grasshopper                                                                               www.frikearq.com



ejercicio práctico
00. objetivo del ejercicio
    El objetivo de este ejercicio es introducirse en el uso de Grasshopper como
    herramienta de diseño generativo, pasando por las utilidades fundamentales
    del programa. Utilizaremos colecciones y funciones numéricas para dibujar
    una superficie que, a continuación, panelizaremos. Y, una vez panelizada, la
    analizaremos con un vector solar básico para poder optimizarla.
iniciación al                                                                          Guillermo Ramírez Camarero
diseño generativo                                                                                Miguel Vidal Calvet
con Grasshopper                                                                                   www.frikearq.com


01. trabajar con colecciones numéricas
A. Dibujar una matriz de puntos con dominios y un rangos.
B. Afectar las coordenadas Z de esa matriz de puntos por una función.
C. Dibujar la superficie a partir de esos puntos.

A. Dibujar una matriz de puntos con dominios y rangos.

    Un dominio es un tramo continuo de la recta real, es decir, representa la colec-
    ción de todos los números entre esos dos valores. Dominio (domain) es un com-
    ponente cuya entrada son dos valores reales A y B y cuya salida es un intervalo
    continuo de la recta real y se escribe “A To B”.

                          A                                     B

    Rango (range) se utiliza para generar valores diescretos a partir de un dominio
    continuo. Es un componente cuyas entradas son un dominio y un valor N, y cuya
    salida son valores numéricos. Es decir, toma un dominio continuo D y lo divide N
    veces, generando una colección de N+1 valores discretos.

                                             N divisiones


                          A              c        d         e   B
                                             N+1 valores



    Conectamos la salida del rango a las entradas X e Y de PointXYZ y dibujará una
    hilera de puntos que tienen la coordenada X igual a la Y, puesto que las dos
    listas de números provienen del mismo rango:

    (1,1) (2,2) (3,3) (4,4) (5,5) ....

    Ahora, si nuestra intención es hacer una matriz de puntos, debemos cruzar
    estas coordenadas. Para ello, hacemos clic con el botón derecho en la parte
    central del componente Point, y seleccionamos Cross Reference. Esto quiere
    decir que a cada coordenada X (1, 3, 5, 7..) Grasshopper le va a hacer corre-
    sponder todas las coordenadas Y (1, 3, 5, 7..) produciendo una lista de pares de
    coordenadas de la siguiente manera:
    (1,1) (1,2) (1,3) (1,4) (1,5) ...

    (2,1) (2,2) (2,3) (2,4) (2,5) ...
iniciación al                                                                             Guillermo Ramírez Camarero
diseño generativo                                                                                   Miguel Vidal Calvet
con Grasshopper                                                                                      www.frikearq.com


B. Afectar las coordenadas Z de la matriz de puntos por una funcón.

    Descomponemos los puntos de la malla cuadrada base con Decompose Point
    y los “recomponemos” en otro punto XYZ (esta vez sin cross reference activo),
    tomando las coordenadas X e Y. La coordenada Z se generará en una función de
    n variables (f(n)) en la que introducimos, haciendo click con el botón derecho en
    la banda central del componente en edit expression, la ecuación del parabolide
    hiperbólico. El número de variables se define, también haciendo click con el
    botón derecho en la parte central del componente y luego yendo a input manager

    Tomaremos, por ejemplo, una suma de seno y coseno con la siguiente forma:

                               (sin(b+(t*a))+cos(c+(t*d)))*f

    En este caso, la variable t representarán todos los “momentos” por los que
    queremos que pase nuestra superficie, así que le pasaremos otro dominio, de
    tal manera, que podemos controlar la altura máxima y mínima de la superficie,
    y un rango para fijar el número de puntos, que tienen que ser tantos como
    puntos tengamos en la base. Puesto que el rango devuelve N+1 valores,
    pasaremos la cantidad de punto (list length) menos uno.


C. Dibujar la superficie a partir de esos puntos


    Dibujaremos la superficie a partir de los puntos anteriores con surface grid o
    surface from point. La entrada P será la última lista de puntos XYZ y U la cantidad
    de puntos en cualquiera de las direcciones de la superficie (esta superfice sólo
    funciona con plantas cuadradas) , que será la N del rango de la planta + 1.
iniciación al                                                                            Guillermo Ramírez Camarero
diseño generativo                                                                                  Miguel Vidal Calvet
con Grasshopper                                                                                     www.frikearq.com


02. deformación de geometría: panelización de superficies
A. Dibujar la geometría que se quiere utilizar para panelizar la superficie.
B. Dividir el dominio bidimensional asociado a la superficie.
C. Replicar y deformar la geometría original sobre la superficie.

A. Dibujar la geometría que se quiere utilizar para panelizar la superficie.
    Dibujamos, en Rhino o Grasshopper, cualquier geometría para replicarla por las
    subdivisiones de la superficie original, en este caso, una superficie plana (Plane
    Surface). Dicha geometría se replicará mapeando una caja de referencia sobre
    dichas subdivisiones. Podemos tomar, también, cualquier caja de referencia. En
    este caso utilizamos el componente Bounding Box para encerrar la geometría
    que replicar en su volumen capaz alineado en el plano universal XY.
B. Dividir el dominio bidimensional asociado a la superficie.
    Necesitamos dividir el dominio bidimensional de la superficie con divide domain2.
    Las entradas U y V del divide domain2 se refieren a las coordenadas locales
    propias de la superficie.

C. Replicar y deformar la geometría original sobre la superficie.

    Para panelizar la superficie utilizamos el componente Surface Morph, que
    toma una geometría contenida en una caja de referencia y la replica sobre una
    superficie deformándola de acuerdo a las coordenadas locales de la superficie.
    U y V las tomaremos de la división del dominio bidimensional y W corresponderá
    a la altura de la caja de destino sobre la que se mapeará la caja de referencia.
    En caso de utilizar más de una geometría para replicar, no debemos olvidarnos
    de activar la referencia cruzada para todas las geometrías cross reference.
iniciación al                                                                          Guillermo Ramírez Camarero
diseño generativo                                                                                Miguel Vidal Calvet
con Grasshopper                                                                                   www.frikearq.com


03. análisis solar de la superficie y visualización de resultados
1. Definir un vector en coordenadas polares.
2. Dibujar y dividir una superficie.
3. Comparar vectores y asignar color.
4. Visualizar.


1. Definir un vector en coordenadas polares.
    Con el componente Point Polar dibujamos un punto que gira en torno al Origen.
    Uniendo con Vector Two Points el Origen y el punto polar, obtenemos la dirección
    de nuestro sencillo vector solar, con vector display podemos visualizarlo.
    Aquí estamos utilizando un vector solar muy básico, puesto que el objetivo del
    ejercicio es puramente didáctico. Dicho vector prodremos sustituirlo simplemente
    subreescribiendo la entrada del componente por otro más preciso, en caso de
    que necesitemos un análisis solar riguroso.

2. Dibujar y dividir la superficie.
    Referenciamos con dos Curve (icono de borde hexagonal) dos curvas dibujadas
    en Rhino, y conectamos ambos a la entrada S de un componente Loft. Con
    Divide Surface dividimos la superficie en puntos en los cuales conocemos el
    vector normal (salida N del Divide Surface). Un Flatten en las salidas N y P del
    Divide Surface nos libra de las sublistas.


3. Comparar vectores y asignar color.
    Con un Angle comparamos los vectores normales (salida N del Divide Surface)
    con el vector solar (salida L de Line). A estos valores de ángulo les tenemos
    que asignar un color. Esto se consigue con Gradient. Con la paleta de Gradient
    definimos el espacio de color que vamos a hacer corresponder con los valores
    de ángulo, este espacio queda determinado entre los límites L0 y L1. Un ángulo
    de 0 radianes será rojo, uno de Pi será rojo también, y, en Pi/2, cuando los los
    vectores sean perpendiculares, la luz será rasante y le asignaremos el color
    verde.

4. Visualizar.

    El último componente, Preview, sirve para colorear: le asigna color a geometría.
    Nuestra información de color sale del Gradient, y la geometría a colorear son
    todos los puntos que salen del flatten de la salida P de Surface Divide.

Más contenido relacionado

Similar a Introduccion al diseño_generativo_imprimir

Similar a Introduccion al diseño_generativo_imprimir (12)

Presentación Final Proyecto de Título
Presentación Final Proyecto de TítuloPresentación Final Proyecto de Título
Presentación Final Proyecto de Título
 
Presentacion Final Modding
Presentacion Final ModdingPresentacion Final Modding
Presentacion Final Modding
 
Diagrama de bode
Diagrama de bodeDiagrama de bode
Diagrama de bode
 
Generador de números aleatorios, pseudoaleatorios, cuasialeatoricos
Generador de números aleatorios, pseudoaleatorios, cuasialeatoricosGenerador de números aleatorios, pseudoaleatorios, cuasialeatoricos
Generador de números aleatorios, pseudoaleatorios, cuasialeatoricos
 
Generador de números aleatorios, pseudoaleatorios, cuasialeatoricos
Generador de números aleatorios, pseudoaleatorios, cuasialeatoricosGenerador de números aleatorios, pseudoaleatorios, cuasialeatoricos
Generador de números aleatorios, pseudoaleatorios, cuasialeatoricos
 
Generador de números aleatorios, pseudoaleatorios, cuasialeatoricos I
Generador de números aleatorios, pseudoaleatorios, cuasialeatoricos IGenerador de números aleatorios, pseudoaleatorios, cuasialeatoricos I
Generador de números aleatorios, pseudoaleatorios, cuasialeatoricos I
 
Algoritmos libro 6
Algoritmos  libro 6Algoritmos  libro 6
Algoritmos libro 6
 
Solucionar problemas por medio de algoritmos
Solucionar problemas por medio de algoritmosSolucionar problemas por medio de algoritmos
Solucionar problemas por medio de algoritmos
 
Diseño paramétrico
Diseño paramétricoDiseño paramétrico
Diseño paramétrico
 
2_LenguajeMATLAB
2_LenguajeMATLAB2_LenguajeMATLAB
2_LenguajeMATLAB
 
Algoritmos Y Diagramas De Flujo
Algoritmos Y Diagramas De FlujoAlgoritmos Y Diagramas De Flujo
Algoritmos Y Diagramas De Flujo
 
Aplicación Multimedia #5 álgebra linea. REGLA DE CRAMER PARA RESOLVER SISTEMA...
Aplicación Multimedia #5 álgebra linea. REGLA DE CRAMER PARA RESOLVER SISTEMA...Aplicación Multimedia #5 álgebra linea. REGLA DE CRAMER PARA RESOLVER SISTEMA...
Aplicación Multimedia #5 álgebra linea. REGLA DE CRAMER PARA RESOLVER SISTEMA...
 

Último

FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menoresFICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
Santosprez2
 
Apunte clase teorica propiedades de la Madera.pdf
Apunte clase teorica propiedades de la Madera.pdfApunte clase teorica propiedades de la Madera.pdf
Apunte clase teorica propiedades de la Madera.pdf
Gonella
 
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdfPasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdf
NELLYKATTY
 
Diseño Universal de Aprendizaje en Nuevos Escenarios JS2 Ccesa007.pdf
Diseño Universal de Aprendizaje en Nuevos Escenarios  JS2  Ccesa007.pdfDiseño Universal de Aprendizaje en Nuevos Escenarios  JS2  Ccesa007.pdf
Diseño Universal de Aprendizaje en Nuevos Escenarios JS2 Ccesa007.pdf
Demetrio Ccesa Rayme
 

Último (20)

FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menoresFICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
FICHA DE LA VIRGEN DE FÁTIMA.pdf educación religiosa primaria de menores
 
GOBIERNO DE MANUEL ODRIA EL OCHENIO.pptx
GOBIERNO DE MANUEL ODRIA   EL OCHENIO.pptxGOBIERNO DE MANUEL ODRIA   EL OCHENIO.pptx
GOBIERNO DE MANUEL ODRIA EL OCHENIO.pptx
 
4. MATERIALES QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptx
4. MATERIALES QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptx4. MATERIALES QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptx
4. MATERIALES QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptx
 
Evaluación de los Factores Externos de la Organización.
Evaluación de los Factores Externos de la Organización.Evaluación de los Factores Externos de la Organización.
Evaluación de los Factores Externos de la Organización.
 
Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...
Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...
Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...
 
EFEMERIDES DEL MES DE MAYO PERIODICO MURAL.pdf
EFEMERIDES DEL MES DE MAYO PERIODICO MURAL.pdfEFEMERIDES DEL MES DE MAYO PERIODICO MURAL.pdf
EFEMERIDES DEL MES DE MAYO PERIODICO MURAL.pdf
 
Apunte clase teorica propiedades de la Madera.pdf
Apunte clase teorica propiedades de la Madera.pdfApunte clase teorica propiedades de la Madera.pdf
Apunte clase teorica propiedades de la Madera.pdf
 
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdfPasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdf
 
flujo de materia y energía ecosistemas.
flujo de materia y  energía ecosistemas.flujo de materia y  energía ecosistemas.
flujo de materia y energía ecosistemas.
 
REGLAMENTO FINAL DE EVALUACIÓN 2024 pdf.pdf
REGLAMENTO  FINAL DE EVALUACIÓN 2024 pdf.pdfREGLAMENTO  FINAL DE EVALUACIÓN 2024 pdf.pdf
REGLAMENTO FINAL DE EVALUACIÓN 2024 pdf.pdf
 
Salud mental y bullying en adolescentes.
Salud mental y bullying en adolescentes.Salud mental y bullying en adolescentes.
Salud mental y bullying en adolescentes.
 
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanenteDiapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
Diapositivas unidad de trabajo 7 sobre Coloración temporal y semipermanente
 
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docxMINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
MINEDU BASES JUEGOS ESCOLARES DEPORTIVOS PARADEPORTIVOS 2024.docx
 
Power Point : Motivados por la esperanza
Power Point : Motivados por la esperanzaPower Point : Motivados por la esperanza
Power Point : Motivados por la esperanza
 
Diseño Universal de Aprendizaje en Nuevos Escenarios JS2 Ccesa007.pdf
Diseño Universal de Aprendizaje en Nuevos Escenarios  JS2  Ccesa007.pdfDiseño Universal de Aprendizaje en Nuevos Escenarios  JS2  Ccesa007.pdf
Diseño Universal de Aprendizaje en Nuevos Escenarios JS2 Ccesa007.pdf
 
Revista Faro Normalista 6, 18 de mayo 2024
Revista Faro Normalista 6, 18 de mayo 2024Revista Faro Normalista 6, 18 de mayo 2024
Revista Faro Normalista 6, 18 de mayo 2024
 
TÉCNICAS OBSERVACIONALES Y TEXTUALES.pdf
TÉCNICAS OBSERVACIONALES Y TEXTUALES.pdfTÉCNICAS OBSERVACIONALES Y TEXTUALES.pdf
TÉCNICAS OBSERVACIONALES Y TEXTUALES.pdf
 
Síndrome piramidal 2024 según alvarez, farrera y wuani
Síndrome piramidal 2024 según alvarez, farrera y wuaniSíndrome piramidal 2024 según alvarez, farrera y wuani
Síndrome piramidal 2024 según alvarez, farrera y wuani
 
¿Que es Fuerza? online 2024 Repaso CRECE.pptx
¿Que es Fuerza? online 2024 Repaso CRECE.pptx¿Que es Fuerza? online 2024 Repaso CRECE.pptx
¿Que es Fuerza? online 2024 Repaso CRECE.pptx
 
El Futuro de la Educacion Digital JS1 Ccesa007.pdf
El Futuro de la Educacion Digital  JS1  Ccesa007.pdfEl Futuro de la Educacion Digital  JS1  Ccesa007.pdf
El Futuro de la Educacion Digital JS1 Ccesa007.pdf
 

Introduccion al diseño_generativo_imprimir

  • 1. introducción al diseño generativo con grasshopper miguel vidal calvet guillermo ramírez camarero www.frikearq.com
  • 3. Christopher Wren, 51 iglesias a partir del plan de reconstrucción de Londres.
  • 5. iniciación al Guillermo Ramírez Camarero diseño generativo Miguel Vidal Calvet con Grasshopper www.frikearq.com idea modelo implementación matemático (código fuente) (leyes de relación entre objetos)
  • 6. iniciación al Guillermo Ramírez Camarero diseño generativo Miguel Vidal Calvet con Grasshopper www.frikearq.com información idea modelo implementación matemático (código fuente) (leyes de relación entre objetos) resultados
  • 7. iniciación al Guillermo Ramírez Camarero diseño generativo Miguel Vidal Calvet con Grasshopper www.frikearq.com 2 paradigmas - diseño paramétrico - diseño discriminativo
  • 8. iniciación al Guillermo Ramírez Camarero diseño generativo Miguel Vidal Calvet con Grasshopper www.frikearq.com datos datos algoritmo resultados proceso de diseño paramétrico
  • 9. iniciación al Guillermo Ramírez Camarero diseño generativo Miguel Vidal Calvet con Grasshopper www.frikearq.com datos datos algoritmo resultados algoritmo de evaluación selección no sí proceso de resultados diseño discriminativo
  • 11. iniciación al Guillermo Ramírez Camarero diseño generativo Miguel Vidal Calvet con Grasshopper www.frikearq.com 01 diseño del proceso y no de un resultado concreto. 02 posibilidad de gestionar complejidad de datos. 03 generación de soluciones adaptadas a condiciones de contorno.
  • 13. iniciación al Guillermo Ramírez Camarero diseño generativo Miguel Vidal Calvet con Grasshopper www.frikearq.com ¿qué es Grasshopper? 01 plug-in para Rhinoceros. 02 entorno de programación visual. 03 intérprete. algunas recomendaciones en el uso de Grasshopper 01 higiene visual. 02 esquema de flujo de datos antes de empezar. 03 sacar paneles informativos. 04 hacer comentarios de lo que se vaya haciendo. 05 personalizar nombres de componentes y poder hacer búsquedas.
  • 14. iniciación al Guillermo Ramírez Camarero diseño generativo Miguel Vidal Calvet con Grasshopper www.frikearq.com ejercicio práctico 00. objetivo del ejercicio El objetivo de este ejercicio es introducirse en el uso de Grasshopper como herramienta de diseño generativo, pasando por las utilidades fundamentales del programa. Utilizaremos colecciones y funciones numéricas para dibujar una superficie que, a continuación, panelizaremos. Y, una vez panelizada, la analizaremos con un vector solar básico para poder optimizarla.
  • 15. iniciación al Guillermo Ramírez Camarero diseño generativo Miguel Vidal Calvet con Grasshopper www.frikearq.com 01. trabajar con colecciones numéricas A. Dibujar una matriz de puntos con dominios y un rangos. B. Afectar las coordenadas Z de esa matriz de puntos por una función. C. Dibujar la superficie a partir de esos puntos. A. Dibujar una matriz de puntos con dominios y rangos. Un dominio es un tramo continuo de la recta real, es decir, representa la colec- ción de todos los números entre esos dos valores. Dominio (domain) es un com- ponente cuya entrada son dos valores reales A y B y cuya salida es un intervalo continuo de la recta real y se escribe “A To B”. A B Rango (range) se utiliza para generar valores diescretos a partir de un dominio continuo. Es un componente cuyas entradas son un dominio y un valor N, y cuya salida son valores numéricos. Es decir, toma un dominio continuo D y lo divide N veces, generando una colección de N+1 valores discretos. N divisiones A c d e B N+1 valores Conectamos la salida del rango a las entradas X e Y de PointXYZ y dibujará una hilera de puntos que tienen la coordenada X igual a la Y, puesto que las dos listas de números provienen del mismo rango: (1,1) (2,2) (3,3) (4,4) (5,5) .... Ahora, si nuestra intención es hacer una matriz de puntos, debemos cruzar estas coordenadas. Para ello, hacemos clic con el botón derecho en la parte central del componente Point, y seleccionamos Cross Reference. Esto quiere decir que a cada coordenada X (1, 3, 5, 7..) Grasshopper le va a hacer corre- sponder todas las coordenadas Y (1, 3, 5, 7..) produciendo una lista de pares de coordenadas de la siguiente manera: (1,1) (1,2) (1,3) (1,4) (1,5) ... (2,1) (2,2) (2,3) (2,4) (2,5) ...
  • 16. iniciación al Guillermo Ramírez Camarero diseño generativo Miguel Vidal Calvet con Grasshopper www.frikearq.com B. Afectar las coordenadas Z de la matriz de puntos por una funcón. Descomponemos los puntos de la malla cuadrada base con Decompose Point y los “recomponemos” en otro punto XYZ (esta vez sin cross reference activo), tomando las coordenadas X e Y. La coordenada Z se generará en una función de n variables (f(n)) en la que introducimos, haciendo click con el botón derecho en la banda central del componente en edit expression, la ecuación del parabolide hiperbólico. El número de variables se define, también haciendo click con el botón derecho en la parte central del componente y luego yendo a input manager Tomaremos, por ejemplo, una suma de seno y coseno con la siguiente forma: (sin(b+(t*a))+cos(c+(t*d)))*f En este caso, la variable t representarán todos los “momentos” por los que queremos que pase nuestra superficie, así que le pasaremos otro dominio, de tal manera, que podemos controlar la altura máxima y mínima de la superficie, y un rango para fijar el número de puntos, que tienen que ser tantos como puntos tengamos en la base. Puesto que el rango devuelve N+1 valores, pasaremos la cantidad de punto (list length) menos uno. C. Dibujar la superficie a partir de esos puntos Dibujaremos la superficie a partir de los puntos anteriores con surface grid o surface from point. La entrada P será la última lista de puntos XYZ y U la cantidad de puntos en cualquiera de las direcciones de la superficie (esta superfice sólo funciona con plantas cuadradas) , que será la N del rango de la planta + 1.
  • 17. iniciación al Guillermo Ramírez Camarero diseño generativo Miguel Vidal Calvet con Grasshopper www.frikearq.com 02. deformación de geometría: panelización de superficies A. Dibujar la geometría que se quiere utilizar para panelizar la superficie. B. Dividir el dominio bidimensional asociado a la superficie. C. Replicar y deformar la geometría original sobre la superficie. A. Dibujar la geometría que se quiere utilizar para panelizar la superficie. Dibujamos, en Rhino o Grasshopper, cualquier geometría para replicarla por las subdivisiones de la superficie original, en este caso, una superficie plana (Plane Surface). Dicha geometría se replicará mapeando una caja de referencia sobre dichas subdivisiones. Podemos tomar, también, cualquier caja de referencia. En este caso utilizamos el componente Bounding Box para encerrar la geometría que replicar en su volumen capaz alineado en el plano universal XY. B. Dividir el dominio bidimensional asociado a la superficie. Necesitamos dividir el dominio bidimensional de la superficie con divide domain2. Las entradas U y V del divide domain2 se refieren a las coordenadas locales propias de la superficie. C. Replicar y deformar la geometría original sobre la superficie. Para panelizar la superficie utilizamos el componente Surface Morph, que toma una geometría contenida en una caja de referencia y la replica sobre una superficie deformándola de acuerdo a las coordenadas locales de la superficie. U y V las tomaremos de la división del dominio bidimensional y W corresponderá a la altura de la caja de destino sobre la que se mapeará la caja de referencia. En caso de utilizar más de una geometría para replicar, no debemos olvidarnos de activar la referencia cruzada para todas las geometrías cross reference.
  • 18. iniciación al Guillermo Ramírez Camarero diseño generativo Miguel Vidal Calvet con Grasshopper www.frikearq.com 03. análisis solar de la superficie y visualización de resultados 1. Definir un vector en coordenadas polares. 2. Dibujar y dividir una superficie. 3. Comparar vectores y asignar color. 4. Visualizar. 1. Definir un vector en coordenadas polares. Con el componente Point Polar dibujamos un punto que gira en torno al Origen. Uniendo con Vector Two Points el Origen y el punto polar, obtenemos la dirección de nuestro sencillo vector solar, con vector display podemos visualizarlo. Aquí estamos utilizando un vector solar muy básico, puesto que el objetivo del ejercicio es puramente didáctico. Dicho vector prodremos sustituirlo simplemente subreescribiendo la entrada del componente por otro más preciso, en caso de que necesitemos un análisis solar riguroso. 2. Dibujar y dividir la superficie. Referenciamos con dos Curve (icono de borde hexagonal) dos curvas dibujadas en Rhino, y conectamos ambos a la entrada S de un componente Loft. Con Divide Surface dividimos la superficie en puntos en los cuales conocemos el vector normal (salida N del Divide Surface). Un Flatten en las salidas N y P del Divide Surface nos libra de las sublistas. 3. Comparar vectores y asignar color. Con un Angle comparamos los vectores normales (salida N del Divide Surface) con el vector solar (salida L de Line). A estos valores de ángulo les tenemos que asignar un color. Esto se consigue con Gradient. Con la paleta de Gradient definimos el espacio de color que vamos a hacer corresponder con los valores de ángulo, este espacio queda determinado entre los límites L0 y L1. Un ángulo de 0 radianes será rojo, uno de Pi será rojo también, y, en Pi/2, cuando los los vectores sean perpendiculares, la luz será rasante y le asignaremos el color verde. 4. Visualizar. El último componente, Preview, sirve para colorear: le asigna color a geometría. Nuestra información de color sale del Gradient, y la geometría a colorear son todos los puntos que salen del flatten de la salida P de Surface Divide.