【Grasshopper外掛介紹】PUFFERFISH
puffer fish 顧名思義叫河豚。
為什麼外掛名稱叫河豚?因為這外掛主要處理兩個幾何造型的漸變續接。就像河豚一樣可以充氣變形,放大縮小。(迷之聲,grasshopper外掛都走動物命名路線)
pufferfish的外掛很簡單,基本上就是串連兩個幾何的型變。
上圖的電池是最基本的功能 Tween Two Curves,電池的相對應介紹如下:
- Curve A:提供第一個幾何型 (需為曲線外框)
- Curve B:提供第二個幾何型 (需為曲線外框)
- Factor:Curve A 預設為0,Curve B 預設為1,需提供0~1的數值作為漸變的數目及區分。
- Refit:提供漸變演算的圓滑或不圓滑。
- Sample Point:漸變演算的控制點,越多控制點漸變造型會越平滑。
在這個示範裡,我提供的是一個方形到六邊形的漸變。若 Sample Point 的數值為1 (控制點最少),如下圖。
再來我試著把 Sample Point 增加到50(控制點增加),發現會產生中間比較圓滑的漸變造型。
再來是Refit的參數,若打開會如何呢?(False改為True)
漸變的變化會更貼近兩目標外框的狀態,各位可以試著玩玩看。其實Refit和Sample這兩項,比較關乎是漸變造型演算方式的不同,提供使用者各取所好。
文章到此,已經可以簡單了解Pufferfish在漸變造型的應用。但有一個問題,Pufferfish電池Factor項目提供的數值,似乎是以0~1的概念作等分。
那麼如果我要針對漸變等分輸入我要的等分間距(距離及數量),電池應該怎麼寫呢?
我用了一點數學邏輯去解釋。如果Factor需要提供的是0~1的等分,那麼就用代數去回推我們應該提供給Series的數值。
假設我們把Curve A的X軸數值抓5,Curve B的X軸數值抓15。然後需抓間距為2,所以會有5等分。
本次示範是進行X軸向的漸變,所以我先抓了Curve A和Curve B的中心點,再抽取其在X軸的數值。
抓出兩者X軸的間距後,將間距(代數a)除以我要的每個距離(代數b),這裡我除以的間距為25,會得出數量(代數c)。再來,將1除以數量(代數c),就會得出0~1之間應該抓的間距(代數d)。
所以再把數量(代數c)連至電池的Count,0~1的間距(代數d,約等於0.0795)連至電池的Step,電池的Start設定為0,這樣就可以順利跑出設定的間距了!
最後Bake出來驗證,X軸向的間距就是25沒問題了!