2012/03/06

Galapagos (Grasshopper教學)

真是非常之久沒有打任何教學,
畢竟我只喜歡簡單的元素東拼西湊出複雜的東西,
太難的我只能看一看拍拍手.
相對之下這些簡單的元素也就是我會的技術實在是有點粗淺,
兩三句就能帶過的東西導致教學什麼的根本打不出來.


相較去年瘋的processing,我今年則在瘋grasshopper,
而在論文某些需求下,我一直在關注一個會自動計算的grasshopper電池,


Galapagos(簡稱Gala)






之前看了David的介紹之後,那看起來好複雜(好帥)的運算已經把我嚇跑一回,


Galapagos 主頁

但又在論文的某些需求下,
我只好再度硬著頭皮去了解它.
原來這只有兩個input的電池原來他媽的根本是在狐假虎威啊~~~~~
在簡單解說之前,你只要記得一句話,


"Gala是一個將結果推到極值(maximum or minimum)的電池"


/


首先你要知道電池兩個input要接什麼進去, 
你一定會問,哪有東西是只in不out的,
我跟你說,以後你的錢投進股票市場後也是只in不out的.

寫到這裡講到in & out讓我不禁想起在加州地區吃到會漏尿的in n' out連鎖漢堡店,
如果它有開在淡水絕對會進我的淡水米其林菜單裡,
少說會給它個2.9顆星,因為我媽說做人不能給人家滿分,
凡事要留有後路,萬一以後還有能幹掉in n' out的餐廳出現時,我還有機會給人家個2.95顆星.
我想同理可以應證到老師給我們打的設計分數,
老師總怕以後會有把柯比意踩在腳下的天才學生出現,
因此給我們拿個6,70分實在是用心良苦,
想到這裡我不禁淚流滿面無法自主.



不小心離題了,讓我們重歸正軌.



以我現在的理解,genome跟fitness絕對都要以數字input進去.

genome意思是基因組,
也就是說,input進來的東西都是無數的基因,
透過不同基因的組合來運算結果,
也因此,可以調整的slider是用來input進genome的,
它可以連接數個slider,只要這些slider會影響你所求的結果.
當然我想是有機會將true,false轉化為1,0做類型學之類的篩選.

fitness本來是指適合值,但在這應該說是最大值,
是把genome內無數slider互相調整所得到的不同結果送進gala內驗證.

我知道聽起來有點玄,沒關係,
我們會透過簡單的gala案例來告訴你如何用它.



 首先整個案例拆成5部份.
A部份做的是在一固定範圍內隨意設9個點, 


 B部份則是將每個點獨立出來好方便之後操作




C部份則是讓每個點在x,y軸各可在正負30內移動,
每個點有兩個slider,9個點即有18個slider,
這18個slider則會全數接到gala上的genome,
因為關係到我們稍後所要求的結果.
此時本來設9個點的範圍已經不需要了.

D部分是我們最終要求的結果,
透過delaunay把各點連成一三角網絡,
而我希望gala能幫我算出如何讓各點在正負30的移動範圍下,
讓所有線段加起來的總長達到最大,
當然透過求得所有線段總長最大值,其所框出的面積也應會最大.
因此應把求所有線段總長的結果連到gala的fitness.

連點gala電池兩下後我們即可看到這畫面,
點solvers下的start solver即可看到gala開始運算,
如果你沒有設定一運算時間,它會一直跑如圖.


但你只要看運算結果差不多達到一致性時,
即可手動按下stop solver.
最終我們將可看到三角網絡的最大延展,
當然這我大概跑了5分鐘不到,結果可能不是最正確的但已經相近.

我們可以看到前後的差別,
本來的5邊形延展後成為4邊形.



我們也可以看本來的點跟延展後的點的相對位置,
紅為運算前,藍為運算後.

/


到這我想你應該大概知道gala基本上是幹麻的,
透過它我們可以去求可以被量化去最大效益的結果,如視野,面積等等.
當然也可透過diva或geco的搭配去讓量體在每次形變的時候去跑熱量或光照,
去求最終能把結果最大化的答案.

更進階的用法是靠record功能去做我們常可看到Zaha或OMA放了一堆的高樓模型study.
點這看Genome Database




當然我也只是剛摸,所以galapagos跟其他電池搭配的combo絕對不止能做到這樣,
我想做urban planning應該也很有機會,端看你怎麼去用它.


以上.

範例檔請至此下載

Tien

2 則留言:

  1. 真是太棒了!
    最近再複習船沉工作營的東西
    有些東西還是忘記了 有阿湯叔叔的解說如同工作營再現阿~

    謝謝學長!

    回覆刪除
    回覆
    1. 畢業設計要用到噢? 加油耶 :)))

      刪除