甘肅農業大學資源與環境學院地理信息系統系 王 璐 朱小燕 谷中仁
基于CityEngine的校園三維模型建模研究
甘肅農業大學資源與環境學院地理信息系統系 王 璐 朱小燕 谷中仁
基于CityEngine三維設計平臺,以甘肅農業大學為例,利用教學樓內外部底面投影數據,研究了CGA規則快速生成建筑物外部的基本流程,并進一步實現了室內的精細建模,從而快速高效的實現了校園三維可視化,體現了校園地理信息的一體化集成,為設計鮮活的三維校園提供了全新的手段和解決方案,擴展了參數化建模的應用領域。
CityEngine;三維數字校園;建模;CGA規則
如何以三維方式構建和顯示真實地理世界的各種現象己成為當今GIS發展的一個熱點議題,三維GIS應運而生。計算機科學、網絡和通訊技術的迅猛發展,加快了校園信息化建設的步伐,三維數字校園的建設已受到全國高校的熱捧。構建精美又逼真的三維場景是三維數字校園的關鍵。傳統3D建模軟件(3DMax、CAD、Sketchup等)所采用的建模技術主要是手工建模,結果往往是較為靜態的、固化的模型。這種建模技術僅能用于立體視覺表達,并不能滿足三維空間分析、屬性查詢等深層次的應用與研究,不具備快速、批量地生成建筑物模型的特點,導致資源的極大浪費,且建模周期長[1]。CityEngine是三維建模軟件中的新成員[4]。它是基于CGA規則快速批量生成三維模型,可利用GIS二維數據快速創建三維場景,并能高效的進行三維規劃設計,能與ArcGIS完美結合,提升了ArcGIS三維建模能力,縮短了建模周期[5]。
隨著城市化的迅速發展,建筑物的外觀越來越復雜,對模型精細程度的要求也就越高,成為當前需解決的問題。目前,對于三維建模方法的研究已十分廣泛,但大都只是在闡述和探討建筑物外部模型的理論與方法,很少涉及到復雜建筑物內部的精細建模,滿足不了用戶更高的需求[3]。因此,基于CityEngine三維建模的相關課題研究適應了三維技術發展的趨勢,具有重要的理論和現實意義。
基于CityEngine的建模是通過編寫CGA規則激活當前二維數據對象,驅動生成三維模型。它提供交互、可視化的對象屬性參數接口設置面板,用戶僅需改變建筑的高度、樓層數等參數即可創造多樣化的模型。因此首先要了解CityEngine特有的CGA語言及其建模的基本過程。
2.1 CGA規則
CGA是一種獨特的編程語言,是計算機生成建(Computer Generated Architecture)的縮寫。它包含了一系列決定模型如何生成的CGA規則,是CityEngine最核心的一個功能。CGA規則建模的基本思想是定義規則,并反復優化設計更多的模型細節[3]。當一個CGA規則被賦予了一個shpae要素后,模型按照自定義的參數自動生成。基于CGA規則建模的基本思路如圖1所示。

圖1 CGA規則建模示意圖

圖2 CityEngine三維建模基本流程
2.2 CGA規則常用命令
extrude(Height)拉伸
i(“**.obj”)替代模型
comp(z)切分函數
split(z)分割函數
2.3 CityEngine三維建模流程
將ArcGIS 產生的二維GIS數據導入CityEngine中,建立各地物模型,再對初步的模型進行細節優化、拉伸、形狀的調整及紋理貼圖等處理,最終實現三維校園場景的發布。基本流程如圖2所示。
3.1 建筑物外部立面模型的建立
建筑物模型的創建是構建三維校園場景的主要內容,建模的質量好壞直接影響到三維可視化的效果。其基本思路是首先定義建筑物的屬性,再用extrude函數按實際高度沿Y軸進行拉伸,確定建筑物的總體框架。然后利用comp命令將建筑物進行拆分,采用split分割函數進行更為精細的剖分,最后用texture對細節對象進行紋理貼圖。核心代碼如下:
//定義參數
attr Floor=5 //定義樓層數
attr Groundfloor_Height=5//建筑底層高度
attr Floor_Height=4 //樓層高度
Building_Height=Groundfloor_Height+Floor*Floor_He ight//建筑物高度
Lot-->
extrude(Building_Height) Building//建筑物體塊
Building -->
split(y){Groundfloor_Height:FVolume|{(Floor_Height):
FVolume1}*}
//建筑體塊創建與建筑立面、頂面拆分
FVolume-->
comp(f){side:floorside(comp.index)|top:topface }
//判別建筑立面
floorside(number)-->
case number==1:side
else:x
side-->split(x){~1.5:wall|{~4:tile }*|~1.5:wall}
效果如圖3所示。

圖3 甘肅農業大學工學樓
3.2 建筑物室內的精細建模
三維模型的創建不僅體現在外觀上,往往也要展現出室內的真實畫面,室內的精細建模對于延伸數字校園的應用是不可缺少的環節。為實現三維數字校園系統的內部查詢,能夠在建筑物室內進行漫游,以人的視角來觀看建筑物內部的“真實”環境,需進行內部精細建模。以甘肅農業大學3號教學樓為例,利用教學樓教室底部投影數據,經comp、split、extrude、NIL、texture等基本命令,構建教室內課桌、凳子、黑板及樓梯等內部模型。通過創建一組規則集用于描述內部各樓層的結構,再經多次調用來創建相同或相似設計的多個樓層。核心代碼如下:
//對教室地面shape進行拆分
bottomside-->
split(y){~1:wall|~10:kface|~1:wall|~2:platform}
//課桌、凳子的建模
kface-->
split(x){~0.2:wall|~3:seat|~1.5:wall|~6:seat |~1.5:wall|~3:seat|~0.2:wall}
seat-->
split(y){~1.5:Ldesk|{~1.5:desk}*|~1.5:Fdesk}
Fdesk-->
split(y){~1:wall|~0.8:Fd}
Fd-->
extrude(1)
comp(f){back:fback|bottom:bm }
fback-->
split(y){~1.5:TLeg|~0.5:Tpocket}
效果如圖4所示。

圖4 教室內部模型
//樓梯的建模,使用遞歸函數創建樓梯臺階,核心代碼如下:
attr Fact = 0.85
attr Depth = 0.2
attr Stop =6
bside-->
extrude(0.20) X
comp(f){side:side(comp.index)|top:xc}
xc-->
case(scope.sx > Stop) :
s('Fact,'Fact,0)
center(xz)
alignScopeToGeometry(yUp, 0) extrude(Depth) X
comp(f){top:xc}
else:NIL
效果如圖5所示。

圖5 樓梯
CityEngine發布Web場景主要有兩種方式:①發布到ArcGIS Online云端進行共享,直接通過 CityEngine Web查看器進行瀏覽;②導出為CityEngine Web Scene格式,即.3ws文件,發布成功后作為本地資源,僅需在本地計算機上進行相關配置即可瀏覽[6]。經兩種方式發布Web場景后,用戶可方便的在瀏覽器中與三維場景交互,場景如圖6所示。

圖6 甘肅農業大學校園場景
主要有以下功能:
①用戶可通過放大、縮小、旋轉、平移等操作改變視點來導航整個校園的全局或局部景觀,給人一種漫步在校園的真實感。
②通過鼠標點擊某個建筑,可查詢顯示該建筑的元數據信息,如樓高、樓層、名稱等屬性,還可通過輸入興趣地物進行查詢,實現動態定位。
④通過校園三維虛擬化漫游,可虛擬瀏覽校園的各個角落,找到各教學樓、辦公樓等,更好的為廣大師生服務。
⑤實現校園光照調節的功能。利用季節和時間的變化模擬了校園三維場景不同時間的光照射入量,可通過設置工具進行陽光的調節,實現不同時間點的日光影響下校園三維景觀。
⑥可方便的進行屏幕截屏。
以CityEngine為平臺的建模方式,在構建三維模型方面具有簡單、快速而又美觀的特點, 解決了校園場景的擴建與重建問題,實現了模型場景的動態展示功能及良好的交互和顯示功能,從而為廣大用戶提供更多的體驗和服務,增加對學校的了解。基于CityEngine建模技術已越來越成熟,它的優越性也將逐漸受到大眾的關注和認可,有著更加廣闊的發展前景。
[1]張暉,劉超,李妍.基于 CityEngine 的建筑物三維建模技術研究[J].測繪通報,2014,11:108-112.
[2]呂永來,李曉莉.基于CityEngine CGA的三維建筑建模研究[J].測繪,2013,7:91-94.
[3]韓東成,唐志敏,張守文.基于CityEngine與CGA規則構建3D室外及室內精細模型的研究[J].電子世界,2014(11).
[4]呂永來,李曉莉.基于CityEngine平臺的高速鐵路建模方法的研究與實現[J].測繪,2013,36(1):19-21.
[5]王俊偉,簡季,周云帆.數字校園應用中CityEngine快速參數化三維建模研究[J].測繪,2014(4).
[6]陳科,胡海莉,等.基于ArcGISServer與CityEngine構建的虛擬校園與校園地圖導航[J].中國科技投資,2014,A07:4-6.
朱小燕(1981—),碩士,甘肅農業大學資源與環境學院講師,研究方向:GIS空間分析、系統開發。
甘肅農業大學盛彤笙基金(編號:GSAU-STS-1416)。
王璐(1993—),女,甘肅白銀人,大學本科,現就讀于甘肅農業大學資源與環境學院地理信息系統系,研究方向:地理信息系統。
谷中仁(1991—),男,甘肅武威人,畢業于甘肅農業大學資源與環境學院地理信息系統系,ESRI中國西安分公司公司職員。