參數化設計是什麼?在很多人的認知裏,參數化設計基本上就等同於“奇奇怪怪的建築”;在建築師的語境中,參數化似乎又是“非線性”的一個近義詞;而結構工程師看參數化,基本上就是“複雜空間結構”了。

©Zaha Hadid Architects

▲ 扎哈的作品是公認的參數化設計

那麼到底什麼是參數化呢? 追本溯源,也許還是要先回到“參數”這個最基本的名詞。在計算機科學中,“參數”是與“函數“分不開的。而所謂函數,就是一個數學的黑箱——喂進去一堆數據,它就返回來一個結果,而我們並不需要關心它內部是怎麼運作的,只需要考慮輸入與輸出就可以了。

▲ 函數的黑箱

在這個函數(圖中的 f )的黑箱裏,輸入的東西(圖中的 x )我們叫做“參數“,輸出的東西(圖中的y)我們稱它爲返回值。

▲ 參數化的語源

如果把“函數“這個抽象的數學過程套用到設計中,那麼參數就相當於設計的輸入,返回值就是設計輸出,而函數本身則相當於我們的設計邏輯。將設計邏輯作爲函數來看待,將設計輸入變爲參數,這正是“參數化”的本義。

▲ 設計語境下的參數化

因此, 參數化設計 就是通過建立 設計邏輯 ,用 輸入參數 控制相關的 設計輸出 ,從而實現參數驅動幾何的 設計方法 。

從語義來說,參數化設計是一種方法或者思維方式,並非某種特定的建築類型,與Rhino、Grasshopper等特定工具也並沒有必然聯繫。它可以任何工具實現,包括現在比較流行的Rhino和grasshopper、商業有限元軟件中的APDL,也可以是各種更完備的編程語言,但工具並非參數化設計的核心,參數化設計的核心是邏輯與算法。

參數化設計工作的對象是函數 f (設計邏輯),我們說做參數化設計,說的正是對這個函數邏輯的設計,或者建築師語境中的“元設計“。這個邏輯也許是基於幾何的,也許是基於力學的,也許是基於環境甚至人類行爲的。但不論設計邏輯是什麼,一個完整的參數化設計過程都離不開輸入參數——設計邏輯——設計輸出這三個要素。反過來說,僅僅是凹造型而脫離函數邏輯的設計,都不能稱作參數化設計。

©TJAD/Isozaki+Huqian Partners

▲ 聲學與力學導向的設計邏輯

左:上海交響樂團音樂廳;右:證大喜馬拉雅中心

從數學的本質上講, 參數化設計所建立的其實是一種的抽象的約束關係。也就是通過邏輯將設計結果千變萬化的自由度通過設計邏輯約束在少數幾個輸入的自由度上。

比如,要確定一個空間點,需要3個數字座標,那麼這個幾何對象具有3個自由度;如果要確定一根線段的位置,原則上需要兩個端點6個座標,具有6個自由度。但如果我們告訴計算機,這根線段的長度是1,位於z>0的半空間,其中一個端點的位置是(0,0,0),那麼這跟線段就被“釘”在了以原點爲中心的單位半球中,這些已知條件就是我們給定的約束條件。這時,我們只需要兩個參數——另一個端點的(x,y)座標,就可以完全確定這根線段了。由於約束,這個幾 何對象的自由度從6縮減到2,也就可以通過2個參數完全控制線段的形狀和空間姿態。

▲ 通過約束縮減自由度

實際中,約束條件可以是幾何數據(比如給定長度、角度)或者約束方程(給定線形、權重)等。通過建立約束關係,原本一個具有數百萬乃至無限自由度的幾何對象,可被縮減到僅剩下幾個自由度,也就可以通過少數的幾個輸入參數控制整體幾何的輸出。幾何對象也就被“參數化”了,如果工程結構依賴於這個幾何對象,那麼這個結構也被“參數化”了。

在商業軟件裏,建立約束的過程往往被封裝成函數甚至是可視化的運算器,方便用戶操作,但本質與上述過程沒有任何區別。

©TJAD/人民網

▲ 遵義奧體中心體育場的grasshopper模型

可視化編程腳本背後,萬餘根構件的幾何信息通過複雜的函數關係約束到左端的少數輸入參數上

如果給定的條件少、約束的程度低,得到的輸出自然比較自由,而給定的條件多、約束的程度高,得到的輸出也就比較有序。

比如下圖的兩個球殼,一邊是僅給定形狀和邊界條件的拓撲優化結果,另一邊除了形狀和邊界條件外還給定節點和邊的連接規律,得到的設計風格大相徑庭。但從本質上說,它們都是參數化設計的結構,因爲它們的幾何都是由參數驅動的。

▲ 不同約束形成不同風格

因此,並不是說奇奇怪怪的建築就一定是參數化設計,參數化設計的建築也未必就是奇奇怪怪。是不是參數化,本質是看建築的生成是否遵循了參數驅動的邏輯,是否有參數化設計過程的完整要素。

查看原文 >>
相關文章