EFFEKT距離哥本哈根以南一個小時路程,該觀景塔提供360度全景,能夠環顧赫斯列茲森林,湖泊、溼地和小溪等山地特色景觀盡收眼底。本文將以該觀景塔為例,進行grasshopper建模以及製作模型生長動畫。
觀景塔以一條螺旋母線作為基本體,其形體規律為兩端大中間小。在z軸方向構建等距圓,並用Graph mapper+Remap numbers(函數映射)組合控制圓的半徑變化。
觀景塔總層數為十二層,圖示中生成了六十個圓,可得每五個圓作為旋轉一層。將每個圓等分五個點,並通過求餘的方式計算螺旋線所通過的點。
通過指向圓心的向量,移動螺旋線的點從而計算出坡道兩側的點,並通過loft生成坡道曲面。按照同樣的方法可生成坡道兩側圍護。
頂層走道可通過提取最頂層的圓獲得基礎元素,再通過Offset Curve生成走道兩側,進而生成曲面。此處圍護的生成採用與坡道圍護生成的方法不同,其方法為通過斷面矩形單軌掃掠生成曲面。
該觀景塔除了螺旋坡道,最吸睛的便是其外部網格結構。再次平分圓獲得點,並通過Rotate與Π偏移每個點(此處示例中Π除以54,當除以的值越大,外網格結構形成的菱形越窄)。最後通過filp matrix改變樹形數據,由pipe生成圓管結構。
右擊Number Slider後出現Animate一項。點擊出現動畫控制界面,其中最重要的是保存路徑,保存名稱,導出圖片解析度以及導出幀數。 值得注意的是grasshopper中默認導出bmp文件,建議在保存名稱中改成png後綴。導出幀數一般為一秒二十四幀,可後期透過pr等視頻軟體進行仔細修改,導出的幀數越大,視頻越流暢,同樣的視頻文件越大。
製作動畫的邏輯為通過提取關鍵基礎元素並使用Number slider控制區間,縮放,偏轉角度等途徑對基礎元素進行有效改變。如圖中外網格結構基礎元素為十八條曲線(即電池圖中的curve),因此通過Sub Curve的重參數化並使用區間控制曲線生成。
如何解決同一動畫中不同時間端生成不同的曲面?
一般將分別製作動畫再通過pr等視頻軟體後期處理。如果是存在時間差(如上文坡道gif中,坡道與兩側圍護生成時間均有差異),或者通過grasshopper進行簡單的多段動畫,可以通過判斷語句進行對生成時間的控制。筆者打包一個簡單的布爾值判斷電池組,可用於在輸入布爾值true或者false時篩選出不同的值。
以螺旋線生成為例,該gif為螺旋線為先生成,再消失的動畫。需要通過兩次布爾值判斷,以確定兩次動畫的開始與結束時間。
本案例中Rhino & Grasshopper源文件獲取方法