Novo desafio: modelar o mesmo edifício do exercício anterior só que através do grasshopper. Para isso, tivemos mais algumas noções do que é algoritmo e nos utilizamos bastante delas para trabalhar com o grasshopper.
A. Passo a Passo para fazer a FORMA:
1.
CIRCLE: palete curve > primitive >
circle
*para o input R (Raio): palete params > special >
panel (escreve raio 11,47).
2.
MOVE: (clica 2x na tela e busca
move)
*para o input G (Geometria): ligar no output C da pilha
circle;
*para o input T: informar eixo.
[lembrando que o move, no grasshopper, é um copy, porque deixa os resíduos - isso vale para as outras ações]
3.
UNIT Z: (clica 2x na tela e busca
unit z)
*para o input F: informar alturas -
panel (0; 20; 60; 80; 90; 100);
*liga o output V no input T da pilha
move.
4.
SCALE (clica 2x na tela e busca
scale):
*para o input G (Geometria): liga no output G da pilha
move;
*para o input F (Fator): informar fatores de escala -
panel (0.9; 1.2; 1.2; 0.9; 0.6; 0.09);
[com isso, cada círculo vai ser escalado de acordo com seu fator]
*para o input C: informar o plano (xy) de escala, isto é informar os centros dos círculos.
5.
CENTER: palete curve > analysis >
center
*para o input A: liga no output G da pilha
move;
[os centros de cada círculo vão ser identificados]
*liga o output C no input C da pilha
scale.
[com isso, cada círculo vai ser escalado de acordo com seu centro]
(opcional: liga um
panel no output C para
visualizar as coordenadas dos centros)
6.
LOFT: palete surface > freeforms >
loft
*para o input S (Superfície): liga no output G da pilha
scale
*não liga nada no output L (Loft): a forma está feita.
B. Passo a Passo para fazer uma CURVA ao redor da FORMA:
1.
END: (clica 2x na tela e busca
end points)
*para o input C: liga no output G da pilha
scale.
[os endpoints de cada círculo vão ser identificados]
2.
INTCRV: palete curve > spline >
interpolate
*para o input V (Valor): liga no output S da pilha
end
[vai se formar uma curva ligando os endpoints - mas não é exatamente isso que queremos]
3.
POLYGON (clica 2x na tela e busca
polygon)
*para o input P (Ponto): liga no output S da pilha
IntCrv
[para ter um polígono em cada endpoint]
*para o input R (Raio): palete params > special >
number slider (limites de 0 a 1 - integers - deixa no 1).
*para o input S (Lados): palete params > special >
panel (coloca o número 3 - triângulo)
[os próximos passos terão como objetivo rotacionar os polígonos um a um até a curva voltar ao endpoint no topo]
4.
DIVIDE: (clica 2x na tela e busca
divide)
*para o input C: liga no output C da pilha
IntCrv;
*o input P da pilha
polygon deve ser desligado do output da pilha
IntCrv e ligado no output da pilha
divide;
*para o input N (Número de divisões): palete params > special >
number slider (limites de 0 a 100- integers - deixa no 40).
[agora temos 40 polígonos ao longo da curva, mas temos que rotacionar um a um]
5.
F(x):
palete math > script >
F1
[clica 2x na pilha para escrever a expressão: 360/x*0,0174 (para transformar o ângulo 360/40 - 9 graus - em radianos)]
*para o input x (variável da função): liga no number slider com o número 40;
*o output r (Resultado) é justamente o quanto cada polígono deve rotacionar.
6.
SERIES: (clica 2x na tela e busca
series)
[essa pilha serve para criar uma série]
*para o input N (intervalo): liga no output r da pilha
F(x);
*para o input C (número de passos): liga no number slider com o número 40;
7.
ROTATE: (clica 2x na tela e busca
rotate)
*para o input G (Geometria): ligar no output P da pilha
polygon;
*para o input A (Ângulo): ligar no output S da pilha
series.
[agora sim, cada um dos 40 polígonos está rotacionado de 9 em 9 graus]
8.
LOFT: palete surface > freeforms >
loft
*para o input S (Superfície): liga no output G da pilha rotate;
[temos a curva ao redor da forma!]
(Paramos aqui na aula do dia 12.09, para continuar na aula do dia 14.09)
C. Passo a Passo para MULTIPLICAR e ROTACIONAR a CURVA:
1.
DOMAIN: (clica 2x na tela e busca
domain - ver figurinha com intervalo 0 a 1)
[define um domínio com início e fim]
*os inputs são A (começo) e B (fim): ligar um
panel em cada com os valores 0 e 360, respectivamente.
2.
RANGE: (clica 2x na tela e busca
range)
[pega os valores do domínio e divide por uma quantidade específica]
*para o input D (domínio): ligar no output I da pilha
domínio;
*para o input N (quantidade de passos): palete params > special >
number slider (limites de 0 a 10 - integers - deixa no 10).
(opcional: liga um panel no output R para visualizar os valores)
3. F(x): palete math > script > F1
[clica 2x na pilha para escrever a expressão: x*0,0174 (para transformar o ângulo x em radianos)]
*para o input x (variável da função): liga no output R da pilha range;
4. ROTATE: (clica 2x na tela e busca rotate)
*para o input G (Geometria): ligar no output L da pilha loft;
*para o input A (Ângulo): ligar no output r da pilha F(x).
[o output r (Resultado) é justamente o quanto a curva vai rotacionar (a rotação também deixa resíduos), totalizando 10 curvas]
5.
MIRROR: (clica 2x na tela e busca
mirror)
*para o input G (Geometria): liga no output G da pilha
rotate;
*para o input P (Plano): informar plano do espelho - palete vector > plane >
XY plan
E PRONTO!