姜 蕓,閆 利,王 軍
(1.武漢大學(xué) 測繪學(xué)院,湖北 武漢 430079;2.國家測繪局黑龍江基礎(chǔ)地理信息中心,黑龍江 哈爾濱 150025)
隨著計算機技術(shù)的飛躍發(fā)展,態(tài)勢二維可視化技術(shù)日趨成熟并逐步實用化,伴隨著數(shù)字化的發(fā)展,各國都越來越重視對態(tài)勢三維可視化的研究。從整體而言,三維技術(shù)的發(fā)展已經(jīng)相對比較完善,有些技術(shù)已經(jīng)發(fā)展了較長一段時間,現(xiàn)在的三維技術(shù)已經(jīng)可以應(yīng)用在實際中而且表現(xiàn)效果也很好。一般態(tài)勢標繪有二維態(tài)勢和三維態(tài)勢2種方式[1],態(tài)勢標繪可以廣泛應(yīng)用于災(zāi)難防范,應(yīng)急事件處理、防火、反恐等諸多領(lǐng)域。
目前,針對態(tài)勢標繪的問題,已經(jīng)有很多研究者提出了解決方案,態(tài)勢標繪可分為常規(guī)標繪和函數(shù)標繪,而對于態(tài)勢標繪來說,常規(guī)標繪較為簡單,可通過建立標準模型庫,以滿足態(tài)勢標繪需求;而箭頭標繪、各種區(qū)域標繪作為函數(shù)標繪中最基本、最常用的態(tài)勢符號,是典型的非規(guī)則標繪,其三維繪制研究對于整個非規(guī)則三維標繪的實現(xiàn)具有重要意義[2],本文重點研究單箭頭標繪和雙箭頭標繪,針對態(tài)勢標繪中實時態(tài)勢標繪要求,研究實現(xiàn)二維態(tài)勢與三維態(tài)勢聯(lián)動表現(xiàn)的一體化操作和顯示模型,提出了一種中點約束算法模型的通用標繪方法,可有效實現(xiàn)二三維環(huán)境下箭標的實時標繪。
貝塞爾曲線是在計算機圖形和相關(guān)領(lǐng)域中經(jīng)常使用的一個參數(shù)化的曲線,可在矢量圖形中用來模擬流暢的曲線,可無限期地進行調(diào)整。有許多方法來構(gòu)造一條Bezier曲線,為有效控制曲線的趨進程度,增加曲線的擬合效果,本文提出基于中點的曲線擬合算法,采用分割獲取的方法,構(gòu)建擬合曲線,提高曲線擬合效率。中點算法曲線點如圖1所示。
圖1 中點算法曲線點示意圖
其中:T為遞歸次數(shù),為常數(shù),0≤n<T,midpoint為中點算法遞歸函數(shù)。
當n=0,可計算獲得C1,C2,C3值,如式(2)所示。
其中,a為首次計算的趨進權(quán)重,默認為1/2,可控制到P2的趨進程度。
當a=1/2時,式(2)可合并到式(1),為增加擬合曲線到P2的趨進度可減小a的取值。
1)為實現(xiàn)二三維一體化顯示,以二維環(huán)境為基礎(chǔ),構(gòu)建中軸線約束模型,有效提高效率和可操作性,實現(xiàn)一體化聯(lián)動顯示。
2)基于二維環(huán)境,根據(jù)用戶給出的約束源(可以是模型上的點、線或者面)、約束的有效半徑R來確定各點處的變形權(quán)值進行變形[3],構(gòu)建箭標圖形。
3)將二維環(huán)境下構(gòu)建的箭標圖形,在三維環(huán)境下進行地形匹配擬合。
1)初始約束點(P):用戶初始輸入點,P1為箭頭出發(fā)點,P3為目標點,P2為中間約束點,本算法采用3點約束控制,數(shù)據(jù)模型僅保存初始約束點的坐標值即可,大大降低了數(shù)據(jù)模型存儲的復(fù)雜度,如圖2所示。
圖2 二維箭頭模型
2)中軸線(P1-P3):用于控制箭頭模型關(guān)鍵部位,標準化情況下中軸線為直線,P2位于中軸線上。
3)中軸線控制點(C):由P1,P2,P3采用中點算法擬合獲得的控制點,用于約束控制中軸線的關(guān)鍵部位,隨出發(fā)點、目標點、中間控制點的改變而改變。
4)關(guān)鍵點(A):由中軸線控制點與約束的有效半徑R(常數(shù))確定的箭頭輪廓外形關(guān)鍵點(A1-An)。
首先根據(jù)用戶輸入的初始約束點(P1,P2,P3),采用中點算法擬合中軸線控制點(C),并記錄初始約束點;然后根據(jù)中軸線控制點計算并擬合箭頭輪廓外形關(guān)鍵點(A1-An),形成二維態(tài)勢箭頭模型,采用動態(tài)柵格化方法與三維地形進行無縫擬合顯示。標繪流程如圖3所示。
圖3 箭頭標繪流程
1)約束點初始化。用戶輸入初始約束點,P1為箭頭出發(fā)點,P3為目標點,P2為中間約束點,及約束距離S。
2)中軸線控制點擬合。根據(jù)初始的約束點,采用中點約束算法,計算中軸線控制點(C1-C5),為便于描述將二維箭頭模型的中軸線簡化迭代次數(shù)(T=2),如圖4所示。其中C1=P1,C5=P3。
圖4 二維箭頭網(wǎng)格模型
3)箭尾關(guān)鍵點生成。箭尾關(guān)鍵點由A5,C2,A6構(gòu)成,以C2為頂點,以C2,P1(C1)為高,構(gòu)建等腰△C2A5A6,其中A5,P1(C1)的距離為DIS,其中;n為中軸線控制點總數(shù),n=2T+1。由此計算A5,A6的值,依次類推計算箭身關(guān)鍵點A2,A3,A4,A7,A8,A9。
4)箭頭關(guān)鍵點生成。箭頭關(guān)鍵點構(gòu)成包括箭頭點(P3),2個箭耳點(A1,A10)和2個箭頸點(A2,A9),共計5個點。由以上的推算可知,僅有箭耳點為未知點,采用步驟3)同樣的方法計算。
在三維環(huán)境中進行態(tài)勢標繪,因箭頭標繪為面狀符號,跨越的地形起伏變化也較大,需重點解決態(tài)勢標繪與地形高程的匹配問題。同時現(xiàn)階段,三維平臺眾多且技術(shù)比較成熟,為提高態(tài)勢標繪技術(shù)的通用性及在三維環(huán)境中顯示效率,本文采用將標繪圖形進行動態(tài)柵格化,并將柵格化圖像于地形進行擬合,大大提高了執(zhí)行效率和顯示效果。
因采用中軸線控制點構(gòu)建箭頭模型,為提高在三維環(huán)境下顯示速度,本文采用控制中軸線控制點的數(shù)目,簡化模型,即控制迭代參數(shù)T;通過逐次簡化減少幾何復(fù)雜性,從而提高繪制算法的效率。細節(jié)層次模型簡化如圖5及表1所示。
圖5 細節(jié)層次模型簡化示意圖
表1 細節(jié)層次模型簡化參數(shù)
雙箭標繪與單箭標繪在繪制時基本思想一致,不同之處在于雙箭標繪需要繪制兩箭頭的連接。本文雙箭頭模型采用6個初始約束點,兩箭頭的連接采用中點算法進行擬合,擬合模型如圖6所示,可通過調(diào)整初始約束點分別控制2個箭頭的走向。
圖6 雙箭頭模型效果
以SuperMap Object.Net6R(2012)作為二維顯示平臺,GeoGlobe作為三維顯示平臺,采用PC機(T7400 2.16GHz,NVIDIA Quadro NVS120M,1GB內(nèi)存),利用Visual Studio2008,運用本文算法模型,構(gòu)建二三維一體化態(tài)勢標繪系統(tǒng)。試驗效果如圖7所示。
圖7 態(tài)勢標繪試驗效果圖
本文介紹了態(tài)勢標繪的基本情況,提出并實現(xiàn)了基于中點的曲線擬合算法,詳細介紹了基于中軸線約束的單箭頭模型的基本思想、算法實現(xiàn),通過試驗取得了較好的效果,本方法和算法模型大大簡化了態(tài)勢標繪中初始輸入點的數(shù)據(jù),簡化了存儲模型,有利于二三維一體化操作和顯示,更可通用于不同的二、三維GIS平臺。雖然現(xiàn)階段已經(jīng)積累了豐富的經(jīng)驗,但仍有大量問題待解決和完善。下一步需要重點研究高效的三維模型標繪符號及三維表現(xiàn)形式,隨著技術(shù)的發(fā)展和態(tài)勢標繪的深層次應(yīng)用,將促使我們提出更好的解決方案。
[1]陳建祥,魏迎梅,吳玲達.虛擬戰(zhàn)場環(huán)境中的態(tài)勢標繪與表現(xiàn)[J].計算機應(yīng)用,2005,25(7):1701-1703.
[2]馬洪文,熊軍,楊曉松,等.基于OpenGL中Bezier曲面的三維箭標繪制研究[J].軍事交通學(xué)院學(xué)報,2009,11(5):86-90.
[3]周艷,劉圣軍,金小剛,等.基于測地距離的多邊形網(wǎng)格模型約束變形[J].JournalofSoftware,2007,18(6):1543-1552.
[4]劉會剛,秦國亮.一種基于Bezier曲線的軍事箭標實現(xiàn)[J].四川兵工學(xué)報,2009,30(2):67-68.
[5]劉會剛,秦國亮.一種漸進式平滑軌跡線標繪方法[J].系統(tǒng)仿真學(xué)報,2012,24(2):357-360.
[6]王燕.二三維一體化的WebGIS系統(tǒng)的研究與實現(xiàn)[J].測繪學(xué)報,2011,34(5):46-47.
[7]徐敬海,徐徐,聶高眾,等.基于GIS的地震應(yīng)急態(tài)勢標繪技術(shù)研究[J].武漢大學(xué)學(xué)報:信息科學(xué)版,2011,36(1):66-70.