胡廣梽
(華東建筑設(shè)計研究院有限公司,上海 200002)
分形(Fractal)原本是一個數(shù)學(xué)概念,是由芒德勃羅(Mandelbrot.B.B.)在1975 年所著《大自然的分形幾何學(xué)》中明確提出,用于描述許多非線性的自然事物,自此之后開始影響和指導(dǎo)其他學(xué)科包括建筑學(xué)。簡單來說,分形最顯著的特征便是事物局部與整體的自相似性。
雖然芒德勃羅從大自然中發(fā)現(xiàn)了分形,但對于分形理論的運用離不開對分形幾何形的生成,分形迭代便是生成分形幾何形態(tài)的重要方法。將初始分形元按照一定的迭代規(guī)則進行幾何變形,再將得到的結(jié)果重復(fù)上述迭代過程,便是分形迭代。以此生成的幾何形便具有了分形的特點,即局部與整體自相似的特征[1]。以數(shù)學(xué)公式來表達此過程,便是F(n+1)=F(Fn)。
算法是任何良性定義的計算過程,該過程取某個值或者值的集合作為輸入并產(chǎn)生某個值或者值的集合作為輸出。簡單地說,算法是為了使操作者依靠一定的條件和規(guī)則來解決問題并得到所求的結(jié)果而制定的一系列明確的解題指令,是一種策略機制[2]。分形迭代過程本質(zhì)上就是運用特定的算法規(guī)則,進行迭代生形,上文提到的F(n+1)=F(Fn)便是分形迭代過程之中蘊含的算法邏輯,不同的分形迭代算法決定了初始值和迭代規(guī)則以什么樣的方式被串聯(lián)起來,建立關(guān)聯(lián)關(guān)系也就是分形迭代的模型[3]。關(guān)于分形的算法有許多:擴散限制凝聚[4]、元胞自動機、林氏系統(tǒng)等。
以分形為特征的典型算法之一便是元胞自動機,全稱Cellular Automaton,由馮·諾依曼最早明確提出,緊接著康威提出的“生命游戲”帶來了一股研究元胞自動機的熱潮。在康威的研究中,元胞自動機是一個迭代系統(tǒng),以單元格為基本單位組成,每個元格只有兩個狀態(tài),例如“黑”與“白”,“生”與“死”。每個格的狀態(tài)變化與否,要根據(jù)相鄰幾個格的狀態(tài)和迭代規(guī)則,每一個單元格之間隨著迭代過程而產(chǎn)生互動和動態(tài)演進。元胞自動機的初始狀態(tài)大多是簡單的單元格構(gòu)成,單元格之間隨著迭代過程的推進而相互影響,并以一定的既定規(guī)則生長、擴散[5]。
圖1 元胞自動機的擴散過程
元胞自動機分為一維、兩維和三維。一維的元胞自動機的初始單元格是橫向排列的,呈一條直線分布,按照每個單元格周圍的狀態(tài)和既定的規(guī)則進行運算,迭代形成第二行的單元格(singles)。依次由上往下迭代,這樣每次迭代形成的單元格也是一字型的,所以叫一維元胞自動機。二維的元胞自動機是以二維平面的形式排布初始單元格,以康威的“生命游戲”為例:每個單元格在二維的單元格矩陣中有且只有“生”或“死”兩種狀態(tài)。把3×3 個單元格看成一個整體,另外8 個相鄰的單元格圍繞其中間的單元格而存在,根據(jù)周圍8 個相鄰單元格的狀態(tài)而決定矩陣中每一個單元格的狀態(tài)。每個單元格的狀態(tài)都有可能根據(jù)初始格的排布狀態(tài)和迭代規(guī)則進行運算迭代而改變,整體單元格的排布會處于一個動態(tài)的變化過程中,但不管經(jīng)過多少次迭代,都會滿足既定的迭代規(guī)則,即單元格的數(shù)量和密度都會控制在一定范圍內(nèi)。以此類推,三維元胞自動機是將若干個三維的單元排列組合在三維空間中,每個單元都有“生”與“死”兩種狀態(tài),“生”與實際體積的立方體相對應(yīng),“死”與空白空間相對應(yīng)。每個單元體的“生”與“死”是由相鄰單元體的狀態(tài)和迭代規(guī)律決定的。
元胞自動機之于城市以及建筑設(shè)計中已有較為廣泛的應(yīng)用,在聚落繁衍擴張的過程中,以當(dāng)?shù)氐娜宋淖匀幻}絡(luò)為基礎(chǔ)進行擴張,包括氣候地質(zhì)特征、人文風(fēng)俗、歷史文化等元素,按照相似的原理,每一次擴張的過程都是這樣的,而且是迭代生長的,可以用元胞自動機的模型進行模擬和預(yù)測[6]。在建筑設(shè)計中,以色列裔加拿大建筑師Moshe Safdie 設(shè)計的“habitat 67”住宅中體現(xiàn)了元胞自動機對建筑體量生成的指導(dǎo)作用。該建筑由若干居住單元構(gòu)成,每個居住單元作為元胞自動機中“生存”的單元格,其居住單元配套的戶外平臺則作為“死亡”的單元格。建筑師希望每一個居住單元都能配有一個戶外平臺,而戶外平臺下方則是下一層的居住單元的屋頂。整個建筑體量是由二維的元胞自動機將每次的迭代結(jié)果豎向疊加形成三維的體量,而通過建筑師的設(shè)計理念,可以總結(jié)出迭代規(guī)則:每一次迭代,新產(chǎn)生的單元體不能與上次迭代的單元體完全重合,以便產(chǎn)生屋頂平臺,但也需要與上次迭代的單元體存在重疊區(qū)域以便獲得支撐。將若干次迭代結(jié)果豎向疊加,便形成了錯落有致的建筑體量。這樣一種依靠秩序生成的復(fù)雜建筑體量,一方面為建筑的復(fù)雜性提供了更多的實現(xiàn)手段,另一方面也賦予了建筑一定的自然特性,建筑體量之間以聚集和擴散的特征聚合在一起,從首層到頂層,逐漸生長,形成具有自然特征的聚合體,使得建筑與自然環(huán)境更好地契合。
建筑形態(tài)的生成取決于多種因素的作用,運用元胞自動機進行建筑生形時,要將城市空間、交通、功能、環(huán)境地物等等因素納入算法設(shè)計中,讓算法的建筑設(shè)計體現(xiàn)其在地性,而不是計算機批量生產(chǎn)的產(chǎn)物。
例如筆者在鄭州高新區(qū)商業(yè)綜合體的方案設(shè)計,通過運用元胞自動機算法,引入城市交通因素,進行具體的建筑形態(tài)設(shè)計,并體現(xiàn)“建筑生長”的主題理念。
項目整體定位為總建筑面積約18 萬m2的中型商業(yè)綜合體,位于鄭州市高新區(qū)城市主干道科學(xué)大道北側(cè)。該綜合體規(guī)模較大,需求功能復(fù)雜,且作為商業(yè)綜合體,其規(guī)模已經(jīng)上升到城市層面,既要與城市界面相呼應(yīng),又要與場地環(huán)境相協(xié)調(diào)。經(jīng)過對場地環(huán)境和場地周邊城市設(shè)施的考察,確定綜合體以“建筑生長”為設(shè)計理念,旨在將建筑從場地中“生長”出來,依據(jù)現(xiàn)有業(yè)態(tài)、場地、環(huán)境、以及一定的建筑生成規(guī)律,使建筑與現(xiàn)有場地條件更加契合,并賦予建筑一定的“生命力”。所以選擇元胞自動機分形迭代算法,根據(jù)場地環(huán)境,將建筑逐步成長、擴散,變成一個巨構(gòu)的聚合體。
把“生命游戲”和元胞自動機中的成長法則結(jié)合起來。二維元胞自動機通過將不同迭代次數(shù)的生形結(jié)果豎向疊加,根據(jù)一定的初始單元格布局和狀態(tài),以及迭代規(guī)律進行迭代生形,由下往上形成疊合而成的立體體量,就像是由下往上依次生長的最終形態(tài)。于是選擇二維元胞自動機算法作為參數(shù)化算法模型,在反映參數(shù)化設(shè)計內(nèi)涵的同時,生成綜合體的建筑體量。
在Rhino 中的Rabbit 平臺上建立了元胞自動機的分形迭代算法模型后,首先需要確定約束條件:根據(jù)地塊周邊的現(xiàn)狀確定地塊內(nèi)的交通流線組織,即將場地內(nèi)部的交通情況作為形態(tài)生成的約束條件。
由于元胞自動機的初始單元格需要呈點狀布局(過度擁擠會使單元格“死亡”),因此在輪廓中選取一個點隨機減少其中一部分,這部分點可以大致代表布局情境,而不會為了迭代而過度擁擠,這些點按照第一層場地設(shè)計后的大致建筑輪廓來選擇,如圖2 所示。
圖2 將場地首層交通流線作為約束條件
隨后設(shè)置一定的目標(biāo)控制條件,以此控制分形迭代的過程:將初始的元胞在由一層到高層的迭代過程中相互融合,形成整體的建筑體量,這樣做的目的是為了保證前幾層的建筑能夠?qū)崿F(xiàn)場地流線的初始約束條件,又能保證上層建筑形態(tài)相對整體。
設(shè)定一定的迭代法則來進行迭代生形的嘗試:已經(jīng)處于“生存”狀態(tài)的格子,在周圍存在2 個或3 個或4 個生存格子的情況下,元格會繼續(xù)生存下去,反之則會死亡;在“死亡”狀態(tài)下的元格,死亡格子會復(fù)生,而這個格子恰好在周圍有三個存活的格子。這樣,只有在相鄰單元格較多或極少的狀態(tài)下,生存單元格的周圍才會死亡,而在特定的3 個數(shù)量的相鄰單元格中,新生單元格“誕生”的條件更為苛刻,才會復(fù)生。這樣的迭代條件代表著現(xiàn)有的存活單位會保持一定的密度,不會出現(xiàn)明顯的消失,新長出來的單位也不會出現(xiàn)過度的急劇增長,呈現(xiàn)緩慢增長的狀態(tài)。這種迭代規(guī)律與建筑“生長”的生長邏輯相對應(yīng),則代表著后續(xù)幾層建筑的體量會穩(wěn)定地維持第一層的布局,并且伴隨著迭代的過程,根據(jù)現(xiàn)有的布局態(tài)勢,后續(xù)生長的建筑體量也會慢慢發(fā)展,新的建筑體量慢慢產(chǎn)生,彼此融合在一起。而且新“出生”的建筑體量的位置會因為迭代規(guī)則中“出生條件正好是相鄰3 個存活單元”的特點而產(chǎn)生一定的隨機性和不確定性,也會帶來一些建筑空間的隨機性和趣味性,這種隨機性也會隨著出生條件的寬松而減弱(比如相鄰3 個以上存活單元)。為了產(chǎn)生前5 層的建筑體量,按照既定的初始值和迭代規(guī)律進行分形迭代操作。從圖3 可以看出,建筑按照原有第一層的布局,逐漸“生長”,并體現(xiàn)出一定的建筑組團和空間體量:西側(cè)大致分為三個組團,組團大小不一,在第三次迭代時產(chǎn)生環(huán)環(huán)相扣之勢,建筑東側(cè)也分成3 個組團,2 個比較大,也產(chǎn)生了互相貫通的局面。而東西兩側(cè)的組團,也出現(xiàn)了上期迭代時的局面,如圖3 所示。隨之加入進一步的目標(biāo)控制條件:雖然整體體量和組團布局相對符合預(yù)期要求,但就生成迭代的結(jié)果來看,建筑的塊體過于零碎,對于北方的建筑來說,可能需要更整體的體量來降低形體系數(shù)以滿足寒冷地區(qū)氣候的要求。
圖3 建筑體量“生長”過程
所以,回歸迭代規(guī)則,放寬新生單元格“出生”的條件,減少新生體量的隨意性,增強整體感:當(dāng)周圍有3 個或4 個存活單元格時,死亡單元格就會獲得新生,如圖4 所示。
圖4 加入新的目標(biāo)控制條件即整合體量
方案一:接下來是進一步的建筑化處理:雖然生成的體量被整合了,但其外圍凸凹的方塊作為建筑物來說,過于細碎,而且方塊的尺度與需要一定體量的建筑物尺度也不相符。
因此,結(jié)合分形自相似統(tǒng)一的策略,提取各層的迭代結(jié)果,將細碎的方塊按照其平面的形體以平滑曲線擬合,擬合出的各層曲線經(jīng)過自相似的優(yōu)化處理,作為建筑的樓板,將曲線向內(nèi)偏移,作為建筑的實體部分,留出外廊作為灰空間,這樣,不僅能盡可能還原變化結(jié)果的單元格布局,還能在符合建筑形態(tài)和尺度的迭代結(jié)果上,將體量整合起來,進行建筑化處理。樓前5 層裙房部分如圖5 所示形成。
圖5 用曲線擬合單元格,形成裙房的板片和體量
由于高層塔樓部分規(guī)整,需要較少的元胞自動機來產(chǎn)生建筑體量,因此高層塔樓部分形態(tài)的設(shè)計采用前五層擬合曲線的分形同構(gòu)曲線形態(tài),結(jié)合成一個建筑整體,按照建筑形態(tài)自近似統(tǒng)一的設(shè)計策略和方法進行設(shè)計。然后再對外立面進行細化設(shè)計,外立面外掛裝飾條的形態(tài)設(shè)計按照分形的自相似同構(gòu)的樓板形態(tài)進行設(shè)計:將塔樓、裙房各層的樓板曲線形態(tài)作為自相似迭代的分形元,形成與樓板曲線形態(tài)相對應(yīng)、異質(zhì)同構(gòu)關(guān)系的外立面裝飾線條。由此產(chǎn)生的符合各層原有曲線形態(tài),又具有一定豎向律動感的立面裝飾構(gòu)件,符合分形美學(xué)特征,在保持大形態(tài)的基礎(chǔ)上,在一定細節(jié)上增加了尺度層次的視覺美學(xué)。最后是建筑功能布置,根據(jù)布置對建筑體量進行微調(diào),對建筑外立面進行提升,提升流線感,形成最終的成果如圖6 所示。
建筑首層的大致布局是由場地流線等條件產(chǎn)生的,以元胞自動機根據(jù)首層布局產(chǎn)生由單元格構(gòu)成的建筑體量,再以單元格布局歸納、擬合建筑化,最終形成流線型建筑體量。在建筑設(shè)計中應(yīng)用的分形迭代算法的重要方法和途徑是將分形迭代算法產(chǎn)生的對象建筑化,使其更符合建筑尺度、形狀、構(gòu)件等的要求。
元胞自動機作為一種分形迭代算法,可以通過建立參數(shù)模型,控制迭代規(guī)則,不斷迭代生成復(fù)雜多樣的建筑體量,從而使建筑形態(tài)設(shè)計具有更多可能性,為非線性建筑的設(shè)計注入新鮮活力。在設(shè)計過程中,綜合考慮建筑實際需求和分形生形之間的平衡點,根據(jù)城市空間、交通、功能、環(huán)境地物等等要求動態(tài)調(diào)整生形結(jié)果,能夠使最終的生形結(jié)果更加符合建筑設(shè)計的需要。
算法代表著理性的數(shù)學(xué)邏輯,而建筑設(shè)計是一個復(fù)雜的理性與感性交織的過程[7]。分形迭代算法的建筑設(shè)計機制實質(zhì)上就是在分形與建筑設(shè)計兩種學(xué)科之間建立一座方法的橋梁,歸納兩者的共性,求同存異,使得算法能夠以一種恰當(dāng)?shù)慕ㄖ姆绞街笇?dǎo)建筑設(shè)計。