□ 侯博 孟吉祥
(山西省煤炭工業廳煤炭資源地質局,山西太原030045)
數字城市快速建模研究
□ 侯博 孟吉祥
(山西省煤炭工業廳煤炭資源地質局,山西太原030045)
對數字城市大規模快速建模方法進行了闡述,針對目前快速建模軟件生成的模型數據量過大的現狀,利用3ds max的腳本語言進行快速建模腳本編寫,解決了非復雜結構建筑物的批量建模及模型優化的問題。
數字城市;大比例尺地形圖;快速建模;批量建模;3ds max;腳本語言
數字城市的建設在全國范圍內已大面積開展,數字城市是物質城市在數字網絡空間的再現和反映。在數字城市前期工作中通常都需要以構建城市建筑三維模型的方式將城市虛擬化、信息化,很多城市在其往年的測繪工作中都完成過本區域的大比例尺基礎測繪工作,所以利用現有矢量成果快速、批量的生產帶有當地坐標的、1∶1比例的三維立體模型成為很多數字城市建模工作選擇的作業方式。目前有很多數字城市相關軟件可實現這一過程,即利用大比例尺地形圖快速、批量生成城市建筑物的三維模型,雖可大量減少初期建模時間,但多數軟件生成的模型廢面太多,造成數據量過大,導致后期人工修改、優化模型的時間直線上升,極大地增加了項目時間成本。本文利用3ds max軟件自帶的腳本編輯器編寫了快速、批量建模腳本,解決了非復雜結構房屋的批量建模及模型廢面過多的問題。
目前,快速批量建模的普遍方法是利用大比例尺地形圖中建筑物的閉合矢量線作為建筑物的外圍線,利用矢量線所自帶的高程屬性值與其坐落范圍的高程值之差來決定三維模型的相對高度,然后將閉合的矢量線下拉相對高度值來生成三維體模型。若不加條件判斷,在大面積批量建模時,此方法會出現一些模型與現實建筑物不符的情況,如房上房及屋頂上的建筑物的底邊會被垂直拉伸至地面,導致很多廢面隱藏在建筑體模型內部或是造成重面閃爍現象,這些面如不修改會極大地增加數據容量,若要人工修改,因為隱藏面和重疊面不易挑選,會大量增加工作時間。
3.1 3ds max腳本語言
MaxScript語言是3ds max自帶的腳本語言,使用一個開放式界面來自定義和編寫3ds Max腳本,是面向對象編程語言中的一種,可使用于建模、動畫、材質、渲染等等。使用MaxScript可實現自動化操作及實現批處理,本文就是通過MaxScript編寫了兩個腳本,可實現普通建筑物的快速建模及批處理。本文所使用的方法需對大比例尺地形圖做必要的編輯修改,如提取房屋建筑的矢量線層、保證層中的矢量線都是閉合的線。
3.2 快速建模
本文的第一個腳本可通過分兩次選取閉合的線,快速的生成獨立的建筑物或建筑物上的多個房上房。腳本的核心思想是:若要生成建筑物上的房上房,可先選擇建筑物的頂部閉合線也就是大比例尺地形圖中代表此建筑物的多段線,確定后再選擇需要生成的一個或多個房上房的閉合多段線即可;若要生成無房上房的建筑物,可選擇地面的閉合線,再選擇一個或多個建筑物的閉合多段線即可。腳本會利用兩次所選多段線的標高求差,利用差值自動生成三維體模型,且房上房的底邊會落在建筑物頂部,不會造成隱藏面及重合面。其核心代碼如下:


3.3 批量建模
本文的第二個腳本可實現建模的快速批量生產,只需進行一次選擇,即可批量生成建筑場景,包括建筑物本身及其上的房上房。其關鍵是如何判斷一個面是否為另一個面垂直拉伸后所坐落的面,也就是判斷一個建筑物的基底面是哪一個面。本腳本的核心思想是利用一個輔助圓柱體來完成此項工作,此圓柱體位于每個面的中心,正交與面并垂直向下。腳本的工作流程是:首先將所有面的高程都放入一個數組,并從高至低排序,然后依數組的順序判斷一個面的輔助圓柱體是否和其序號后的面相交,若相交則判斷其高差,這里可引入一個經驗閥值,滿足閥值后可認定其基底面就為其序號后的面;若不相交則繼續在數組里依順序尋找下一個面,直到找到其基底面為止。建模完成后,將輔助圓柱體批量自動刪除。此法可自動、批量的根據大比例尺地形圖矢量線生成大量三維建筑模型,且每個模型間都不會產生穿插在一起的廢面或重疊面。其核心代碼如下:



在利用大比例尺地形圖進行數字城市白模制作的工作中存在大量的普通建筑物模型,若人工逐個建立,工作量巨大;若采用現成相關軟件,人工后期修改時間較長,利用本文所述的3ds max腳本,可直接復制在MAXScript偵聽器中使用,或利用Visual MAXScript可視化工具制作簡單的腳本程序來使用。本文的快速建模和批量建模兩個腳本可進行快速的、批量白模生產,且模型不存在多余面、穿插隱藏的廢面及重疊面,無需人工修改,可極大地提升數字城市大范圍建模效率,降低項目成本,具有一定的應用價值。
參考文獻:
【1】王華.3ds MAXScript腳本語言完全學習手冊[M].北京:兵器工業出版社,2006(9).
【2】飛浪.飛浪腳本零起點入門系列[EB/OL].http://www.CGplus.com/bbs,2008-09-02.
【3】John Resig.陳賢安,江疆譯.精通JavaScript[M].北京:人民郵電出版社.
【4】Kelly L,Murdock.田玉敏,沈金河譯.3ds max 8寶典[M].北京:人民郵電出版社,2007.
侯博(1983年——),男,山西省陽泉人,助理工程師,2008年畢業于中國礦業大學。主要從事航空攝影測量及數字城市、數字礦山工作。

由Geoway直接轉出的pdf文件圖
通過上面在Geoway中的制圖數據處理和后期的三種出圖方法的研究比較,使用AI軟件雖然在顏色上可以達到和圖示規范的一致性,但不穩定性較大,面層顏色的處理也復雜。圖內有很多復雜的面時可以排除使用這種方法,若圖形較為簡單,面涉及較少可以使用AI轉出。在實際生產中有充足的制圖時間,使用CAD輸出pdf,可以使用其強大的編輯功能,是較為理想的使用方法。若遇時間緊迫,使用Geoway直接輸出pdf也不時為一種權宜之計。
【1】第三界全國測繪地理信息行業職業技能競賽地圖制圖技術文件.2013.
【2】GB/T 20257.1—2007,1∶500、1∶1000、1∶2000地形圖航空攝影測量規范[S].
【3】GB/T 20257.1—2007,1∶500、1∶1000、1∶2000地形圖圖式[S].
【4】Geoway 3.6用戶技術手冊.
作者簡介:
馮書玉(1973年——)女,工程師,山西省清徐人。主要從事的工作為大比例尺數字地圖的制作,建庫及審校。
P28
B
2095-7319(2014)04-0100-05