甘宗平
(1.中山市地質(zhì)環(huán)境監(jiān)測(cè)站,廣東 中山 528400)
3DMax模型在Skyline球面空間中的優(yōu)化展示技術(shù)研究
甘宗平1
(1.中山市地質(zhì)環(huán)境監(jiān)測(cè)站,廣東 中山 528400)
對(duì)大范圍3DMax三維模型在Skyline球面空間展示時(shí)出現(xiàn)位置偏差的原因進(jìn)行了研究,并提出了基于坐標(biāo)變換優(yōu)化展示的技術(shù)原理和實(shí)施方案,最后對(duì)比了中山市原始三維模型和優(yōu)化后的三維模型在Skyline球面空間中的展示效果。結(jié)果表明,這種優(yōu)化展示技術(shù)能有效解決位置偏差問題。
三維模型;Skyline;優(yōu)化展示;位置偏差
三維數(shù)字城市建設(shè)中需要制作、發(fā)布和展示大范圍的三維模型。為保證三維模型的展示效果與實(shí)際一致,通常是先在3DMax的世界坐標(biāo)系下制作三維模型,每個(gè)模型都生成坐標(biāo)信息表和定位點(diǎn),并將定位點(diǎn)轉(zhuǎn)換到特定的經(jīng)緯度坐標(biāo)系下,然后導(dǎo)入到Skyline球面空間中進(jìn)行發(fā)布與展示。當(dāng)范圍較小或展示空間為平面時(shí),這種方式可以完美地展示三維模型;然而,大范圍的三維地理模型在球面空間中展示時(shí)會(huì)因?yàn)槟P妥鴺?biāo)信息和定位點(diǎn)仍然是平面坐標(biāo)而與地球曲面產(chǎn)生位置偏差[1]。
1.1 產(chǎn)生原因
在3DMax中,制圖坐標(biāo)系是世界坐標(biāo)系,三維模型的制作在1∶500的平面坐標(biāo)系地形圖基礎(chǔ)上進(jìn)行,所以模型在3DMax里面會(huì)保持連接性,不存在接邊問題[2]。在3DMax中,模型的位置規(guī)定為模型的中心最低點(diǎn),通常歸到3DMax世界坐標(biāo)的零點(diǎn)。在將大范圍的三維模型導(dǎo)入Skyline球面空間時(shí),系統(tǒng)只會(huì)將模型的定位點(diǎn)轉(zhuǎn)換為大地坐標(biāo)系,而模型相對(duì)于定位點(diǎn)仍舊維持平面坐標(biāo)系下的關(guān)系。因此,相鄰的大范圍三維模型在Skyline球面空間接邊時(shí)會(huì)出現(xiàn)位置偏差[3-5]。
比如在3DMax平面坐標(biāo)中,A、P、B在同一條直線上,導(dǎo)入到Skyline平面空間依然維持在同一條直線上,不存在不接邊的問題,如圖1所示。但將同一套平面坐標(biāo)的模型導(dǎo)入到球面坐標(biāo)系中時(shí),由于AP、PB在不同的模型中,模型的位置通常是模型的中心最低點(diǎn),也就是O1、O2兩個(gè)點(diǎn),這兩個(gè)點(diǎn)既是入庫后SHP點(diǎn)位置,也是模型位置。如圖2所示,模型入庫到球面坐標(biāo)系中,坐標(biāo)轉(zhuǎn)換只是對(duì)SHP點(diǎn)進(jìn)行坐標(biāo)轉(zhuǎn)換,而對(duì)于A、P、B三個(gè)點(diǎn)的數(shù)值沒有進(jìn)行轉(zhuǎn)換,因此模型還是保持原來平面坐標(biāo)系的狀態(tài),不能保持原來的相接關(guān)系,從而出現(xiàn)偏差,如圖3所示。
圖1 3DMax模型導(dǎo)入Skyline平面空間中的效果
圖2 3DMax模型在Skyline球面空間中的示意圖
圖3 3DMax模型導(dǎo)入Skyline球面空間中的效果
1.2 垂向偏差分析
把地球作為球體,這種垂直方向的偏差稱為垂向偏差,其模型可以定義為:
式中,delta_h是垂向偏差值;R是地球半徑;dist是模型邊緣距模型定位點(diǎn)的距離。據(jù)此模型,距離定位點(diǎn)100~1 000 m區(qū)間內(nèi),垂向偏差(cm)的量化分析如圖4所示。
圖4 垂向偏差曲線
垂向偏差對(duì)跨度大、范圍廣的城市三維模型具有較大影響。由于是三維視角,垂向偏差無論大小都會(huì)使模型之間出現(xiàn)裂縫,影響三維模型的精確表達(dá)和視覺效果。
2.1 技術(shù)原理
根據(jù)§1.1中的分析,為了保證AP和PB兩個(gè)模型的連接性,應(yīng)該對(duì)A、P、B點(diǎn)都進(jìn)行坐標(biāo)轉(zhuǎn)換,也可以理解為把模型“弧度”化,如圖5所示。
圖5 模型弧度化示意圖
為達(dá)到“弧度”化的目的,須將每個(gè)模型的坐標(biāo)信息點(diǎn)和SHP一起轉(zhuǎn)換到大地坐標(biāo)系下,這個(gè)過程通過常規(guī)的坐標(biāo)轉(zhuǎn)換就可以實(shí)現(xiàn)。但是,Skyline是通過SHP點(diǎn)來定位的,三維模型定位時(shí)還存在著一個(gè)以SHP點(diǎn)為原點(diǎn)的站心直角坐標(biāo)系,只有將大地坐標(biāo)系下的所有模型坐標(biāo)信息點(diǎn)都轉(zhuǎn)換到站心直角坐標(biāo)系下才能保證模型接邊的一致性,才算實(shí)現(xiàn)了“弧度”化。
首先,構(gòu)建如圖6 所示的站心地平坐標(biāo)系:站心點(diǎn)的法線為z軸,子午線方向?yàn)閤軸,y與x、z軸正交,指向正東方向[6-7]。
根據(jù)圖示,要將站心直角坐標(biāo)軸x、y、z變換到與大地坐標(biāo)系指向一致需要如下幾步:①z坐標(biāo)軸反向。②繞y軸旋轉(zhuǎn)90°+B。③繞z軸旋轉(zhuǎn)-L。由此得出旋轉(zhuǎn)矩陣如下:
圖6 站心直角坐標(biāo)系
站心直角坐標(biāo)系原點(diǎn)在大地坐標(biāo)系中的坐標(biāo)為:
站心直角坐標(biāo)系到大地坐標(biāo)系的變換公式為:
由上式可得大地坐標(biāo)系到站心直角坐標(biāo)系的變換:
以上步驟可將大地直角坐標(biāo)轉(zhuǎn)換到站心直角坐標(biāo),這樣大范圍的3DMax三維模型在Skyline球面平臺(tái)上就可以無縫展示。
2.2 解決方案
根據(jù)§2.1中的分析可知,模型進(jìn)入Skyline球面坐標(biāo)時(shí),除了模型定位點(diǎn)SHP文件要進(jìn)行坐標(biāo)轉(zhuǎn)換之外,模型各個(gè)點(diǎn)也需要轉(zhuǎn)換,并統(tǒng)一到以定位點(diǎn)為原點(diǎn)的站心直角坐標(biāo)系下。
首先從TerrainBuilder中確定Skyline的球面坐標(biāo)系是WGS84的正球體坐標(biāo)系,半徑為6 378 137 m;然后求出模型定位點(diǎn)轉(zhuǎn)換到大地坐標(biāo)的坐標(biāo)值,并以此作為站心原點(diǎn),再根據(jù)式(4)和式(5)求出模型中各點(diǎn)從大地坐標(biāo)系轉(zhuǎn)換到站心直角坐標(biāo)系下的坐標(biāo),最后導(dǎo)出成果模型。
本文利用SAFE公司的FME軟件編寫相關(guān)程序,結(jié)合3DMax腳本實(shí)現(xiàn)具體轉(zhuǎn)換過程,得到3D模型平面轉(zhuǎn)球面的成果[8-9]。主要操作過程是在3DMax中導(dǎo)出模型各個(gè)點(diǎn)的ID以及對(duì)應(yīng)的坐標(biāo)值文本文件,然后利用FME對(duì)該文本里面的坐標(biāo)點(diǎn)進(jìn)行轉(zhuǎn)換,反算出球面坐標(biāo)相對(duì)于定位點(diǎn)(站心直角坐標(biāo)系)的相對(duì)坐標(biāo),然后再利用3DMax讀取轉(zhuǎn)換后的坐標(biāo)點(diǎn)文件,并對(duì)模型進(jìn)行轉(zhuǎn)換,保持紋理不發(fā)生變形。其轉(zhuǎn)換流程如圖7所示。
圖7 模型處理流程
中山市三維公共平臺(tái)制作、發(fā)布了中山市核心城區(qū)250 km2的3DMax建模數(shù)據(jù)。其原始模型導(dǎo)入到Skyline球面平臺(tái)上時(shí),由于坐標(biāo)系的不一致,在接邊的過程中產(chǎn)生了明顯的位置偏差,如圖8中的橫線所示。根據(jù)§2.2中的方案將模型優(yōu)化后,原先的位置偏差完全消除,接邊位置一致連續(xù),具有完整的顯示效果,如圖9所示。
圖8 原始3DMax模型在Skyline球面空間中的展示效果
圖9 優(yōu)化后的3DMax模型在Skyline球面空間中的展示效果
本文針對(duì)大范圍城市3DMax三維模型在Skyline球面空間中展示時(shí)出現(xiàn)位置偏差的原因進(jìn)行了分析,提出了通過批量坐標(biāo)轉(zhuǎn)換的方式進(jìn)行優(yōu)化,并通過編程實(shí)現(xiàn)了這個(gè)過程。該方法在中山市三維公共平臺(tái)城市模型的優(yōu)化過程中取得了良好效果,為其他城市大范圍的三維模型優(yōu)化展示提供了參考。在目前國家大力推進(jìn)數(shù)字三維公共服務(wù)平臺(tái)建設(shè)的過程中,為處理大范圍三維數(shù)據(jù)提供了行之有效的思路和方法。
[1] 趙子龍.基于3Ds Max的城市三維建模技術(shù)[J].價(jià)值工程,2013,4(135):184-185
[2] 謝俊瑩,朱劍云,王定良.基于Skyline三維地理信息系統(tǒng)的模型定位加載[J].浙江測(cè)繪,2010(4):45-46
[3] 宮巖.淺談數(shù)字城市三維模型數(shù)據(jù)檢查方法[J].北京測(cè)繪,2013(3):85-88
[4] 李道遠(yuǎn),李英成,肖金城.大范圍城市三維模型管理技術(shù)研究[J].測(cè)繪科學(xué),2015,36(5):70-72
[5] 顧琰,郭容寰,汪旻琦,等.三維城市模型數(shù)據(jù)組織與管理方法研究[J].測(cè)繪科學(xué),2011,36(1):215-217
[6] 凌震瑩.大地坐標(biāo)系與站心地平直角坐標(biāo)系的坐標(biāo)轉(zhuǎn)換[J].聲學(xué)與電子工程,2009(96):31-34
[7] 崔永?。臻g直角坐標(biāo)與大地坐標(biāo)之間的變換方法研究[J].華北工業(yè)學(xué)院學(xué)報(bào),2003(1):75-77
[8] 范沖,王東亮.基于FME的CAD數(shù)據(jù)坐標(biāo)轉(zhuǎn)換工具開發(fā)及實(shí)現(xiàn)[J].測(cè)繪與空間地理信息,2014,37(4):10-13
[9] 鄒學(xué)海,楊敏,吳柏宣.AutoCAD平臺(tái)下基于.net實(shí)現(xiàn)坐標(biāo)系統(tǒng)轉(zhuǎn)換[J].淮海工學(xué)院學(xué)報(bào):自然科學(xué)版,2011(S1):110-111
P208
B
1672-4623(2016)06-0007-03
10.3969/j.issn.1672-4623.2016.06.002
甘宗平,碩士,高級(jí)工程師,注冊(cè)測(cè)繪師,主要從事地理信息系統(tǒng)開發(fā)與應(yīng)用研究。
2016-03-10。
項(xiàng)目來源:國家自然科學(xué)基金資助項(xiàng)目(41431178)。