陳楚,周奎,段有林
(天津市測繪院,天津 300381)
地圖是人類空間認(rèn)知的結(jié)果,又是人們進(jìn)行空間認(rèn)知的工具。地圖學(xué)家們探索了人的空間感受與圖形認(rèn)知的一系列生理、心理機(jī)制,提出了“視覺變量”和平面地圖空間信息傳輸模式的理論,有效地提高了地圖設(shè)計(jì)的質(zhì)量和使用效果。
近年來,我國國民經(jīng)濟(jì)持續(xù)、快速、健康發(fā)展,人們的生活水平不斷提高,隨著科學(xué)技術(shù)不斷進(jìn)步,虛擬現(xiàn)實(shí)(VR)、地理信息系統(tǒng)(GIS)、各種駕駛模擬訓(xùn)練、3D游戲等在社會生活中得到了越來越多的應(yīng)用,人們對地圖的需求不再滿足于二維的點(diǎn)線面等矢量抽象的表示形式,而要求使用三維空間真實(shí)直觀地再現(xiàn)客觀世界。三維可視化技術(shù)使傳統(tǒng)二維的、靜態(tài)的地圖表示向三維的、動態(tài)的場景表示方向發(fā)展。利用虛擬現(xiàn)實(shí)(VR)技術(shù)在空間數(shù)據(jù)庫支持下可以構(gòu)建虛擬生活環(huán)境,人在進(jìn)入這一環(huán)境后可以利用計(jì)算機(jī)實(shí)現(xiàn)以視覺為主的全方位交互,這是空間數(shù)據(jù)可視化最有發(fā)展前景的新領(lǐng)域,已成為被關(guān)注的熱點(diǎn),也是研究、利用數(shù)字地球資源的重要工具。三維地形模型的制作始終是其中的一個關(guān)鍵問題。
三維地形模型是建立有高低起伏,符合真實(shí)情況的地表輪廓的三維模型。它不僅能真實(shí)、細(xì)膩地表現(xiàn)地貌形態(tài)的高低起伏,還能較好地顯示地物地貌之間相互關(guān)系和位置。
傳統(tǒng)的地形圖主要是以等高線或高程散點(diǎn)和地形特征線等形式來表現(xiàn)地形的高低起伏、符合真實(shí)情況的地表輪廓。三維地形模型一般是在等高線、三維特征線或高程數(shù)據(jù)的基礎(chǔ)上構(gòu)建規(guī)則的或不規(guī)則的格網(wǎng)來生成地形曲面(三角形面)。
天津地處華北平原東北部,除了薊縣北部地區(qū)為山區(qū)地帶,地形起伏較大外,其他地區(qū)均為平原或丘陵,平均海拔高度 2 m左右。試驗(yàn)區(qū)選擇了天津市河西區(qū)的一個街區(qū),面積 0.8km2,最高點(diǎn)高程 8.77 m,最低點(diǎn)高程 1.65 m。這部分 1∶500地形圖上以散列的高程點(diǎn)和特征線來表達(dá)地形的起伏。本文主要研究利用現(xiàn)有的 1∶500地形圖系統(tǒng)數(shù)據(jù)中的二維面數(shù)據(jù),結(jié)合地貌層中的獨(dú)立高程點(diǎn),制作生成三維面,通過3ds Max構(gòu)建不規(guī)則的三角格網(wǎng)生成地形曲面,為了反映地貌中的細(xì)節(jié),根據(jù)不同地形曲面數(shù)據(jù)的屬性貼上不同的紋理細(xì)節(jié),最終制作形成三維地形模型。
對于原始的1∶500地形圖,是按照系統(tǒng)數(shù)據(jù)的標(biāo)準(zhǔn)進(jìn)行制作的。為了更好地制作三維特征線,將系統(tǒng)數(shù)據(jù)進(jìn)行改造分類,把面數(shù)據(jù)(主要包括居民地、交通、管線、水系、地貌和植被等)、道路中心線數(shù)據(jù)和地貌層中的高程點(diǎn)數(shù)據(jù)等數(shù)據(jù)提取出來,對高程點(diǎn)數(shù)據(jù)進(jìn)行編輯處理。將橋梁上的高程點(diǎn)、水面上的高程點(diǎn)刪除。由于系統(tǒng)數(shù)據(jù)中部分面數(shù)據(jù)有重疊(例如交通層與居民地層有重疊),因此要對各數(shù)據(jù)進(jìn)行重新計(jì)算刪除重疊的面。同時,為了全面表現(xiàn)出現(xiàn)實(shí)場景,將部件調(diào)查數(shù)據(jù)中按行政區(qū)劃分,每個區(qū)的分層數(shù)據(jù)中大約包括80余種數(shù)據(jù),將所有數(shù)據(jù)進(jìn)行篩選,把需要制作的數(shù)據(jù)綜合在一起,準(zhǔn)備進(jìn)行計(jì)算。
地形要素類型的屬性不同,構(gòu)建三維面數(shù)據(jù)的方法也不同。通過分析大致將地形要素分為三類:
(1)道路交通類。道路上的高程點(diǎn)一般分布在道路的中心線附近,為了保持道路的平坦,必須保證道路邊線垂直道路中心線的地方高程保持一致。
(2)建構(gòu)(筑)物的底座。為了保證建構(gòu)(筑)物的模型能夠放置在一個平面上,在制作三維地形模型時,必須保證建構(gòu)(筑)物的底座邊線的高程相同。管線類模型的要求與此相同。
(3)其他地形要素。除了以上兩大類以外的其他地形要素必須保證構(gòu)建的三維面與高程點(diǎn)之間的高程差控制在一定范圍內(nèi),以保證三維地形模型的高程精度。
為保持地貌形態(tài)的真實(shí)高低起伏,準(zhǔn)確表達(dá)不同地形要素的屬性,在制作地形三維面數(shù)據(jù)時要求:一是同一位置的點(diǎn)的高程必須相同。二是相鄰點(diǎn)之間高程差與距離比不能超過0.05。三是構(gòu)建的不規(guī)則三角面的最小內(nèi)角不能小于20°。對以上三大類地形要素采取不同的三維面生成方法。具體如下:
①道路交通類
利用道路的面數(shù)據(jù)在地貌的高程文件中提取出道路上的高程點(diǎn),由于道路中心線上點(diǎn)數(shù)量有限,點(diǎn)之間的平均距離較大,容易導(dǎo)致生成三維道路面出現(xiàn)突變,不平滑。因此,需對道路中心線上的點(diǎn)進(jìn)行加密,保證相鄰點(diǎn)之間的實(shí)地距離最大不超過 0.5 m,對相鄰兩點(diǎn)超過 0.5 m的地方,將兩點(diǎn)連線的中點(diǎn)添加到道路中心線上,并把這兩點(diǎn)高程的均值作為中點(diǎn)的高程。對道路邊線上的每一個點(diǎn),作一條過該點(diǎn)且垂直于道路中心線的垂線,將道路中心線上垂足前后兩點(diǎn)的高程按照距離加權(quán)平均后的高程作為該點(diǎn)的高程。
②建構(gòu)(筑)物的底座
由于在1∶500系統(tǒng)數(shù)據(jù)中,每一個建構(gòu)(筑)物的底座附近都應(yīng)有一個高程點(diǎn)。因此,在構(gòu)建建構(gòu)(筑)物的底座時,尋找距離建構(gòu)(筑)物最近的點(diǎn)作為建構(gòu)(筑)物底座的高程。為了保證不出現(xiàn)較大的三角面,需要對建構(gòu)(筑)物底座邊線上的點(diǎn)進(jìn)行加密,保證相鄰點(diǎn)之間的實(shí)地距離最大不超過 0.5 m。
③其他地形要素
為了保證地形的連續(xù)性,利用已經(jīng)生成的三維道路面、建構(gòu)(筑)物三維底座面和地貌中的高程點(diǎn),運(yùn)用分而治之的方法構(gòu)建Delaunay三角網(wǎng)。為了保證相同的點(diǎn)獲得相同的高程,對相鄰要素的重疊邊上的點(diǎn),相互插入到對方的重疊邊上。為了保證不出現(xiàn)較大的三角面,需要對其他地形要素的邊線點(diǎn)進(jìn)行加密,保證相鄰點(diǎn)之間的實(shí)地距離最大不超過 0.5 m。對每一邊線點(diǎn),通過Delaunay三角網(wǎng)獲得該點(diǎn)高程。對于地形模型中的點(diǎn)狀要素,如城市部件,只需要得到插入點(diǎn)的高程。因此,通過構(gòu)建Delaunay三角網(wǎng),查詢插入點(diǎn)的高程即可。
圖1 利用三維道路面、建構(gòu)(筑)物三維底座面和地貌中的高程點(diǎn)構(gòu)建的Delaunay三角網(wǎng)
將制作完成三維面的居民地、交通、管線、水系、地貌和植被等數(shù)據(jù)分別導(dǎo)入3ds Max中,對制作好的模型進(jìn)行貼圖。將其余計(jì)算成三維的部件調(diào)查數(shù)據(jù)逐類分離,分成單獨(dú)的cad文件,分別導(dǎo)入3ds Max軟件,分別擺放部件,并對其中的部分?jǐn)?shù)據(jù)逐個進(jìn)行旋轉(zhuǎn),比如路燈、交通信號燈等。將制作好的房屋模型導(dǎo)入制作好的三維地形數(shù)據(jù)中逐個進(jìn)行擺放,擺放到相對應(yīng)的高度位置。
圖2 左圖是制作完成三維地形后全區(qū)三維場景效果圖,右圖是局部放大圖
為了保證制作后三維地形模型的高程精度,對三維地形模型的高程精度進(jìn)行了檢查,首先將1∶500圖數(shù)據(jù)中的高程點(diǎn)導(dǎo)入3ds Max中并制作成一個圓柱體,以便和地形進(jìn)行比對。然后在3ds Max中旋轉(zhuǎn)角度選取圓柱體和地形相差較多的地方進(jìn)行記錄,統(tǒng)計(jì)出差距最大的點(diǎn),最后選取其余差距微小的點(diǎn)統(tǒng)計(jì)出一個相差的平均值??偣步y(tǒng)計(jì)了30個高程點(diǎn),平均誤差 0.32 m,最大誤差 0.56 m,最小誤差 0.07 m。最大誤差發(fā)生在綠地中間的凸起處,三維地形模型進(jìn)行了平滑,導(dǎo)致誤差較大,其他的誤差都能保證在0.5 m,表明三維地形模型的高程精度滿足要求。
[1]譚仁春.三維城市模型的研究現(xiàn)狀綜述[J].城市勘測,2007(3)
[2]劉曉艷,林琿,張宏.虛擬城市建設(shè)原理與方法[M].北京:科學(xué)出版社,2004
[3]王華.3ds Max Script腳本語言完全學(xué)習(xí)手冊[M].北京:兵器工業(yè)出版社,2006
[4][美]Kelly L.Murdock,田玉敏,沈金河譯.3ds Max 8寶典[M].北京:人民郵電出版社,2007
[5]霍家通,孫堯,陳慧.三角形格網(wǎng)地形數(shù)據(jù)及其OpenGL顯示[J].應(yīng)用科技,2001(5):26~27