sábado, 1 de outubro de 2011

exercício 7: parada de ônibus

Antes de fazer esse exercício, aprendemos algumas coisas novas! Nele, teríamos que fazer uma parada de ônibus utilizando a modelagem básica no rhino e o grasshopper para incrementar. Também deveríamos fazer planos de corte (para posterior prototipagem) no grasshopper.

parte teórica: logic components


~ series: informa início, número de passos e distância entre os passos (incrementar) - produz uma lista.
domain: informa início e fim - não produz nada, serve como input para outros.
range: informa domínio, início e fim (distribuir) - produz uma lista.
divide domains: divide o domínio em outros domínios, informando domínio inicial e quantidade de domínios - serve também de input para o range, p. ex., que resulta em uma lista de listas.


parte prática: parada de ônibus


esses foram os primeiros estudos, mais para aprender as ferramentas:


1. surface
faz a superfície no Rhino (com control point curve e loft, p. ex) - pilha surface (params>geometry>surface) - set one surface - clica na superfície do Rhino.
2. divide domain 2
*input I: liga no output da srf;
*input u: número de divisões na direção u;
*input v: número de divisões na direção v;
3. surface box
[cria caixas moldadas numa superfície]
*input S: output da srf;
*input D: liga o output S da pilha divide.






4. geometry
faz uma forma no Rhino (esfera, cone, donut) - pilha geometry (params>geometry>geometry) - set one geometry - clica na forma do Rhino.
5. bounding box
[caixa ao redor de um objeto - o tamanho dele está associado a ela e vice-versa]
*input C: liga o output da geometry


6. box morph
[com isso vamos transferir o objeto que está na bounding box para as surface boxes]
*input G: é a origem - liga no output da geometry.
*input R: é a referência - liga no output da bounding box.
*input T: é o destino - liga no output do surface box.




e fazendo um bake, por fim:



escalas aleatórias

e continuamos as atividades relacionadas com o exercício 6...


Tentando escalar mais de um elemento com diferentes escalas

A. series - point x, y, z - box


B. reduce
(com isso, reduzimos aleatoriamente 5 volumes)




e agora, como escalar os volumes retirados?

C. evaluate box - ex diff


evaluate box (surface > analysis > evaluate box) é uma pilha que transforma uma lista de box em uma lista de coordenadas.

ex diff (sets > sets > set difference (s)) é uma pilha que faz a diferença entre dois conjuntos (listas) - não pelo index mas pelo valor. Com isso temos como output a lista justamente dos volumes retirados!


D. box - scale nu
(com, isso materializaremos a lista de coordenadas obtidas em volumes e escalaremos estes volumes)


E. jitter - random
(duas pilhas que trazem aleatoriedade para as escalas)



trabalhando com listas e escalas

Continuando as atividades (ainda relacionadas com o exercício 6), tivemos uma aula teórica (21.09) com algumas (muitas) operações/pilhas com listas (sets > list) e sequências (sets > sequence).

Algumas delas e suas funções (os inputs estão entre parênteses):
LISTAS
~ series: cria uma lista através de um início (S - 0,0 por default), de um número de elementos (C) e da distância entre os elementos (N).
~ item: escolhe um item, a partir da lista inicial (L) e do index escolhido (i).
~ insert: insere uma lista (I) na lista inicial (L), no index escolhido (i).
~ subset: cria uma sublista a partir da lista inicial, informando o domínio escolhido (D).
~ replace: substitui um item da lista inicial (L), informando o index (i), por um novo item (I).
~ split:divide a lista inicial (L) em duas novas listas, informando o momento/index em que a lista se divide (i).

SEQUÊNCIAS
cull index: apaga um ou mais itens da lista inicial (L), a partir de uma lista de index (I).
reduce: apaga aleatoriamente item da lista inicial (L), informando o número de retiradas (R) e a sequência aleatória (S).

Depois dessa parte teórica, iniciamos uma parte prática (26.09), exercitando possíveis soluções para escalar os volumes individualmente, segundo alguma regra.

Tentando escalar um único objeto e treinar as listas

A. series - point x, y, z - box OU series - vector - move - box




OU



B.split list - box
(podemos antes de inserir o box, usar o split list)




C. item - scale nu
(ligamos o item à pilha box e a pilha escolhida vai ser escalada somente em uma direção pela pilha scale nu)


D. cull index
(utilizamos essa pilha para excluir exatamente o item que está sendo escalado, pois, como já sabemos o grasshopper cria réplicas a cada operação)

exercício 6: blocos paramétricos

A idéia do exercício 6 baseia-se no Museu do Holocausto (Peter Eisenman):


Antes de mais nada, começamos a aplicar as ferramentas de ponto, linha e plano aprendidas para fazer um volume paramétrico (aula 19.09):


Em seguida, o objetivo era fazer uma matriz de 6 x 12 volumes. Para isso, fez-se os seguintes passos:

1. SERIES: essa pilha foi utilizada duas vezes, tendo em vista que o objetivo era uma série de 6 no eixo X e uma de 12 no eixo Y.
*para o input N: a distância entre os bloquinhos (de centro a centro);
*para o input C: a quantidade de bloquinhos.

e como associar cada série à sua respectiva direção esperada?

2. VECTOR:
*para o input X, ligamos o output da primeira pilha series;
*para o input Y, ligamos o output da segunda pilha series;
*não ligamos nada no input Z.
[detalhe importante: para o nosso objetivo, devemos ativar o cross reference na pilha vector, para que todos os X da primeira série se associem a todos os Y da segunda.]

e como fazer com que essa lista de coordenadas influenciem o bloco feito no início?

3. MOVE
*para o input G, ligamos o output de TODAS as pilhas Srf4Pt.
*para o input T, ligamos o output V da pilha Vector.
[detalhe importante: para o nosso objetivo, devemos ativar o cross reference na pilha move, para que todos os planos sejam copiados para cada coordenada.]









ponto, linha, plano

ponto
existem algumas maneiras diferentes de fazer pontos, que vão depender dos objetivos.

- pelo caminho: params > geometry > point
[clicando com o botão direito na pilha: set one point ou set multiple points - com ambos, você deve selecionar a posição do(s) ponto(s) na tela do rhino]


OU

- pelo caminhos: vector > point > point xyz
*para os inputs x, y e z: informar valores através do panel/ number slider/ MD slider ou ainda da series (informa intervalo e número de pontos).


{observação importante: com o botão direito na pilha point (e outras pilhas também como, move, vector), você pode selecionar: longest list (as series/listas se combinarão uma a uma, e quando não há correspondência, o último se repete), shortest list (as series/listas se combinarão uma a uma, e pára quando não há correspondência) ou cross reference (conecta todos os elementos de uma lista com todos da outra)}


linha
- pelo caminho: params > geometry > line
[assim como o ponto, a linha é desenhada na tela do rhino]

OU

- pelo caminho: curve > primitive > line
*para os inputs A e B: ligas os output de pontos.

[vale para a pinha Ln, a longest list/shortest list/cross reference]


plano
Existem, também, várias maneiras de fazer planos. Talvez a mais prática delas seja pelo caminho: surface > freeform > 4 point surface.