劉 鋰,段芃芃
(成都理工大學(xué) 工程技術(shù)學(xué)院,四川 樂山 614007)
隨著人民日益增長的物質(zhì)文化需要,旅游業(yè)在當(dāng)代社會(huì)得到迅速發(fā)展,大眾對旅游景點(diǎn)虛擬化的需求也逐漸擴(kuò)大,所以旅游虛擬化平臺(tái)的實(shí)現(xiàn)是大勢所趨。隨著數(shù)字化城市發(fā)展的相對成熟,虛擬技術(shù)逐漸向古建筑領(lǐng)域邁進(jìn),但目前對于古建筑建模研究學(xué)術(shù)較少,大部分是對現(xiàn)代城市的快速建模,相比于古建筑模型而言,現(xiàn)代建筑比較中規(guī)中矩,樣式簡而平整,但古建筑樣式建立就比較復(fù)雜[1-4],如:屋頂?shù)慕⒎绞剑写辜沟纳下N弧度,比較難控制。目前多采用傳統(tǒng)建模技術(shù)實(shí)現(xiàn)。
傳統(tǒng)的技術(shù)有SketchUp、3dsMax、Creator等三維建模軟件,建立的模型可以達(dá)到足夠精細(xì),但是過程相對復(fù)雜;模型制作周期相對較長、效率較低,也不具備坐標(biāo)信息,不適合用于建立大規(guī)模的三維數(shù)字城市場景。
文中主要是根據(jù)國內(nèi)外對于古建筑模型研究方面較為空白的現(xiàn)狀所展開,以閬中古城的古建筑為例進(jìn)行基于CityEngine的模型建立,建立方式是通過CGA文件的編寫,根據(jù)建模理論進(jìn)行規(guī)則優(yōu)化[5-6],對所設(shè)計(jì)內(nèi)容中的古建筑院落、門窗、屋頂、閣樓塔、防哥特式建筑等進(jìn)行原理精確分析,所涉及原理包括平移、旋轉(zhuǎn)、拉伸,說明原理算法在規(guī)則中該如何應(yīng)用才能把建筑模型建立,然后分析最終模型呈現(xiàn)效果,對它的展現(xiàn)方式和精確度進(jìn)行分析。
對于古建筑的建立必須遵從古建筑營造特征,是中軸對稱的等級(jí)布局形式,這體現(xiàn)著一種禮制規(guī)范,如“三孔”的院落布局特點(diǎn),主體建筑風(fēng)格保持一致,建筑群沿著一條從南到北的中軸線左右對稱排列,根據(jù)建筑的營造對稱特點(diǎn),對于閬中古城的院落建筑均采用該方式,左右對稱,整體風(fēng)格保持一致;對于比較有特色的四合院院落,根據(jù)潛意識(shí)的誘導(dǎo)作用,往往人們會(huì)有先大后小的觀賞意識(shí),所以對于該種建筑,在CGA[7-8]文件編寫時(shí)主廂方位的房屋要體量大,造型繁復(fù)有特色;中國古代的屋頂體型很大,莊重雄偉,空間上有一種壓抑感,所以通過讓屋頂出檐,反曲向上,使它在空間上達(dá)到和諧統(tǒng)一;在《中國傳統(tǒng)建筑門窗、隔扇裝飾藝術(shù)》一書中說明門是一個(gè)通道,是建筑內(nèi)部與外部的連接出口,它不是單體結(jié)構(gòu),所以門的建立一般是幾扇門并排在一起,設(shè)置在屋身的中軸線上;柱子是古建筑當(dāng)中重要的角色,往往位于建筑最突出的部位,古時(shí)的柱子多為木柱,為了預(yù)防柱腳潮腐,柱下會(huì)修建臺(tái)基,為了保持穩(wěn)定性,柱與柱之間會(huì)有穿插枋,抱頭梁進(jìn)行連接,這不僅能起到固定作用,還具有審美效果。
(1)中軸對稱。
中國傳統(tǒng)建筑文化有“尊者居其中”的方位意識(shí),這是受儒家文化禮制、等級(jí)的要求所影響,而這也符合美學(xué)的觀點(diǎn),古希臘哲學(xué)家畢達(dá)哥拉斯曾說,“一切美的形體都必須有對稱形式”,所以這種美學(xué)意識(shí)由來已久。對稱分為左右對稱,上下對稱,古建筑院落的布局采用的是左右對稱,它的中軸對稱是以大門中點(diǎn)為起點(diǎn)到大門所對正屋的中點(diǎn)為終點(diǎn)的一條直線,建筑整體以該條直線鏡面對稱,所以在編寫規(guī)則時(shí)所依據(jù)的分割數(shù)學(xué)理論是,空間當(dāng)中任意一條直線的中點(diǎn)到兩端的距離都相等原則,即如圖1(a)中軸對稱理論所示。
XBA=XBC,XBD=XBE,XGA=XCF,XHE=XDI
(1)
其中AECD表示院落活動(dòng)區(qū)域,均有對稱性質(zhì)融入,圖1(b)是該原理在規(guī)則中的運(yùn)用,a、b、c、d為建筑區(qū)域。
圖1 中軸對稱規(guī)則
(2)旋轉(zhuǎn)角度。
球形比任何一種立體形狀都要堅(jiān)固,這是因?yàn)樗拿恳粋€(gè)地方都能受力,且受力均勻。拱形的受力特點(diǎn)與球形相似,它的受力方式是從頂點(diǎn)出發(fā),擴(kuò)散到端點(diǎn)。因此在建筑中弧形樣式備受青睞,因?yàn)樗氖芰U(kuò)散,能起到很好的鞏固作用,對于外觀的美化程度也尤為明顯。在實(shí)際運(yùn)用中,旋轉(zhuǎn)角度影響著建筑的穩(wěn)定性,在規(guī)則編寫時(shí)如旋轉(zhuǎn)角度不確定,就必須一點(diǎn)點(diǎn)調(diào)試,這大大降低了建模速度[9],而且如果角度不適合,還影響著建筑的整體呈現(xiàn)效果。
根據(jù)圖2(a),弧長AC表示旋轉(zhuǎn)基礎(chǔ)線的寬度用a表示,角AOC代表旋轉(zhuǎn)的角度用θ表示,AO是圓的半徑用r表示(O在實(shí)際中是門或窗邊上的中點(diǎn)),根據(jù)弧長公式得出旋轉(zhuǎn)角度[10-11],即
a=θ×r×π/4r?θ=4a/π
(2)
在CGA文件編寫中,還要確定循環(huán)次數(shù)才能將弧形表示出來,循環(huán)次數(shù)用n表示,由圖可知,從A到B是四分一的圓,則
n×a=2πr/4r?n=rπ/2a
(3)
圖2 通過旋轉(zhuǎn)實(shí)現(xiàn)的古建筑
由旋轉(zhuǎn)角度與循環(huán)次數(shù)的公式可知旋轉(zhuǎn)角度與基礎(chǔ)直線的寬度成正比,循環(huán)次數(shù)與直線寬度是反比例函數(shù)關(guān)系,為了讓弧形邊緣更圓滑,就讓循環(huán)次數(shù)增加,即設(shè)置基礎(chǔ)直線的寬度時(shí)盡量減小。在規(guī)則實(shí)際運(yùn)用中,如圖2(b)所示,它的旋轉(zhuǎn)角度通過公式推出為AB之間的角度為3.2,由A的寬度決定,生成圖中所示效果的循環(huán)次數(shù)為23次,由C的長度與A的寬度所決定,圖2(c)為效果圖。
(3)穩(wěn)定性。
給定三條邊,就能確定三角形的形狀及其角度,而四邊形就不能兩者都確定,這是三角形具有穩(wěn)定性的原理,在古建筑建模中處處都能體現(xiàn)它的作用。如屋頂側(cè)面具有三角形形狀,撐拱與柱子或墻構(gòu)成的也是三角形,但建模時(shí)撐拱只由一根柱子構(gòu)成,為了加強(qiáng)其穩(wěn)定性,將它設(shè)置成牛腿,這是將三角形穩(wěn)定性原理的加強(qiáng),是撐拱時(shí)三角形只有一個(gè),如圖3(a)所示,加強(qiáng)后是許多個(gè)三角形共同給予房屋的穩(wěn)定。圖3(b)是將穩(wěn)定性運(yùn)用于規(guī)則中的撐拱,圖3(c)是穩(wěn)定性加固后的牛角。
圖3 古建筑穩(wěn)定性規(guī)則設(shè)計(jì)
(4)黃金比例。
在古建筑建模中運(yùn)用最多的就是分割函數(shù),而所分割的比例大約為0.618,能讓分好的每一塊顯示出最美的效果,在設(shè)計(jì)樓層高度時(shí),就讓高層建筑的二層高度比上一層的高度等于一層的高度比上建筑整體高度,黃金比例為:
AB/BC=BC/AC=0.618
(4)
該原理的應(yīng)用還表現(xiàn)在院落的活動(dòng)區(qū)域上,活動(dòng)區(qū)域一般為矩形,分割時(shí)使它的較短邊比上較長邊的比例為黃金比例,就能建立出平時(shí)所說的黃金矩形,如圖4(a)所示。
BC/AB=0.618
(5)
當(dāng)分割建筑門窗時(shí),將黃金矩形的原理運(yùn)用其中,這是將數(shù)學(xué)、美學(xué)、建筑學(xué)合三為一。其中二層高度/一層高度=黃金比例,如圖4(b)所示,門寬/門長=黃金比例,構(gòu)成黃金矩形。
圖4 黃金比例設(shè)計(jì)規(guī)則
閬中古城中天主堂的建立區(qū)別于其他古建筑院落,它的平面是矩形,在對整體平面進(jìn)行分割時(shí),將右邊單獨(dú)分開,進(jìn)行傳統(tǒng)古建筑的建立,然后將其余三邊分割出一小部分,這是周邊圍墻的建立,以此和右邊房屋將天主堂包圍在其中,天主堂的位置分割在靠后的位置,將前面留出一定區(qū)域就是教堂廣場位置;建筑中主要運(yùn)用的是循環(huán)語法,本次設(shè)計(jì)中涉及的方式為模型循環(huán)。
如下為建模流程,由于天主堂是中軸對稱建筑,首先依據(jù)右手法則將建筑分為三個(gè)部分進(jìn)行分塊建模,再對第一部分按比例進(jìn)行劃分。圖5(a)為分塊劃分示意圖。如圖5(a)所示的兩個(gè)建筑,它們的整體結(jié)構(gòu)基本是一致的,不同的地方是:墻面材質(zhì)、窗戶樣式和裝飾物樣式。只需要在其規(guī)則中修改對應(yīng)的對象參數(shù)代碼即可實(shí)現(xiàn),不需要重新編寫新的規(guī)則。這樣可以對規(guī)則進(jìn)行重復(fù)利用,從而提高建模的效率。
柱子上部結(jié)構(gòu)的建立方式是將柱子頂部正方形作為基礎(chǔ)面,運(yùn)用模型循環(huán)進(jìn)行建立,在x,y方向上進(jìn)行劃分,綜合使用院落生成的拉伸原理使a部分建立完成,如圖5(b)所示。
(a)分塊劃分示意圖
(b)a部分生成示意圖
(c)b和c部分生成示意圖
(d)圓弧形成示意圖
b部分的建立采用與上文所提的迭代算法,通過平移加縮放共同完成,所涉及的縮放公式為:
(6)
其中,Sx,Sy是在x,y方向上的縮放量,圖5(b)所示的縮放只需在x,y方向上進(jìn)行,z方向的量采用平移公式達(dá)到效果。該方式比運(yùn)用三個(gè)方向的縮放簡便,也易于執(zhí)行,圖中向外放大的縮放量為1.1,即Sx=Sy=1.1,向內(nèi)縮小的縮放量為0.9,z方向的平移量由以下平移公式得出:
(7)
它的平移量與拉伸量相同,當(dāng)運(yùn)用該公式獲得平移高度時(shí),拉伸量同步確定,圖中所示的平移量為0.08,當(dāng)?shù)Y(jié)果的平面與基礎(chǔ)迭代面相同時(shí),算法結(jié)束。
頂部尖狀結(jié)構(gòu)的建立與四面坡建立方式類似,四面坡迭代完成時(shí)矩形成一條直線,圖中所示c部分效果是矩形迭代過程中的平移縮放,當(dāng)矩形成為一個(gè)頂點(diǎn),在基礎(chǔ)矩形中心處上方時(shí)迭代結(jié)束,如圖5(c)所示。
圖5(d)中圓形建筑部件建立方式是循環(huán)加旋轉(zhuǎn)的迭代算法所完成,主要形成代碼如下:
smbai1-->
R(0)
R(n)-->
case n [t(0,0.22,0)r(0,0,-5.1) R(n+1) mbai] else:NIL mbai2--> split(y){~1:kong|baibiank*1.9:smbai2} smbai2--> B(0) B(n)--> case n [t(0,0.22,0)r(0,0,6.1) B(n+1) mbai] else:NIL 拱形門窗的建立也可以采取該方式,算法中它的循環(huán)次數(shù)與旋轉(zhuǎn)角度要根據(jù)所要進(jìn)行旋轉(zhuǎn)的基礎(chǔ)小方塊的大小與旋轉(zhuǎn)原點(diǎn)來決定,由于旋轉(zhuǎn)平面在二維內(nèi),所運(yùn)用的旋轉(zhuǎn)公式為: (8) 任意一點(diǎn)(x,y)繞一個(gè)坐標(biāo)點(diǎn)(x0,y0)逆時(shí)針旋轉(zhuǎn)θ角度后新的坐標(biāo)為(x1,y1),圖中所示是根據(jù)循環(huán)加該公式完成,旋轉(zhuǎn)總角度為360度,每一次從B到A的旋轉(zhuǎn)方向的角度要很小,以該種方式形成的圓弧保證了它的光滑度。 古建筑模型建立過程與現(xiàn)代建筑方法類似,只是在屋頂處理上有所不同,最開始都是拉伸、分割,對于特殊物件需要進(jìn)行縮放、旋轉(zhuǎn)等操作,現(xiàn)代建筑多為平頂,而古建筑當(dāng)中是雙面坡、歇山頂式的屋頂結(jié)構(gòu)。 在本次設(shè)計(jì)完成的古建筑模型中,大多建筑是相對比較有特色的院落,它的周圍是有特色的圍墻,大門邊有石墩,院落內(nèi)有照壁、綠化,建筑為兩層結(jié)構(gòu),三面環(huán)繞。對于它的建立不需要建立多個(gè)圖層,然后進(jìn)行拼接,在CityEngine中建立是在開始時(shí)對整體平面進(jìn)行各部分的劃分,包括圍墻,大門,院落,綠化,房屋,臺(tái)階,還有照壁,然后對每一部分根據(jù)相應(yīng)原理進(jìn)行規(guī)則編寫。 根據(jù)古建筑的建立過程,將CityEngine規(guī)則[]編寫方式與傳統(tǒng)建模方式進(jìn)行對比,明顯比對出本次設(shè)計(jì)中的建立方式更為優(yōu)越。CityEngine古建筑建模,規(guī)則統(tǒng)一編寫,前期設(shè)計(jì)時(shí)間長,后期實(shí)現(xiàn)和維護(hù)時(shí)間短,靈活性強(qiáng)。傳統(tǒng)工具古建筑建模,需要建立多個(gè)圖層、進(jìn)行拼接,前期長,后期長,不靈活,不利于后續(xù)的修改和維護(hù)。 通過對文獻(xiàn)[12]的研究,運(yùn)用3ds Max方法進(jìn)行建模,它的建模成果與實(shí)際有較大的偏差,精度不高,這對古建筑的場景復(fù)原效果不大。在《基于SuperMap的圖形處理技術(shù)》中看出矢量圖的精度與控制點(diǎn)的精度,密度還有分布情況有關(guān),但控制點(diǎn)是通過人工操作,必然會(huì)有一定偏差,這就導(dǎo)致最終模型不夠精確。 由于建筑建模實(shí)現(xiàn)原理主要是通過CGA文件編寫來激活二維對象,驅(qū)使二維數(shù)據(jù)生成三維立體模型。CGA是計(jì)算機(jī)生成器(computer generated architecture)[13-15]的縮寫,它有一系列的CGA規(guī)則(決定模型如何生成),在規(guī)則中調(diào)用函數(shù)就能實(shí)現(xiàn)相應(yīng)的功能,所以本次設(shè)計(jì)的古建筑模型建立時(shí)所進(jìn)行的每一步操作,都有具體的數(shù)字精度,這就促使最終完成的模型精確度很高,從而增加了場景的真實(shí)感,與現(xiàn)實(shí)實(shí)物有很高的還原度。 圖6 精度分析對比圖 三維城市化建模的發(fā)展日新月異,但對于古建筑的計(jì)算機(jī)語言所形成的最后場景虛擬化還需要進(jìn)行更深一步的研究與探索。文中以閬中古城的古建筑建模為研究方向來進(jìn)行探討,古鎮(zhèn)模型主要包括了中國傳統(tǒng)古建筑和教堂等,根據(jù)古鎮(zhèn)內(nèi)的不同建筑樣式進(jìn)行了設(shè)計(jì),采用古建筑的建筑思想,分析了古建筑的結(jié)構(gòu),通過從中軸對稱、旋轉(zhuǎn)角度、穩(wěn)定性結(jié)構(gòu)和黃金比例進(jìn)行設(shè)計(jì),并采用了CGA語言進(jìn)行規(guī)程模型的代碼的編寫,能快速實(shí)現(xiàn)復(fù)雜的古建筑模型。對于教堂模型,采用了結(jié)構(gòu)分析,結(jié)構(gòu)分割,拉伸模型設(shè)計(jì)、平移模型設(shè)計(jì)、縮放模型設(shè)計(jì)等,進(jìn)行了CGA代碼實(shí)現(xiàn),可以通過改變文件中的相關(guān)參數(shù)即可實(shí)現(xiàn)對相應(yīng)模型的調(diào)整、修改。該技術(shù)可以實(shí)現(xiàn)大規(guī)模區(qū)域不同建筑的生成,極大程度地滿足了城市規(guī)劃和三維古建筑建模的需求,為古建筑三維建模技術(shù)提供了新的技術(shù)參考。3 實(shí)驗(yàn)分析與數(shù)據(jù)對比
4 結(jié)束語