姜 蕓,閆 利,王 軍
(1.武漢大學 測繪學院,湖北 武漢 430079;2.國家測繪局黑龍江基礎地理信息中心,黑龍江 哈爾濱 150025)
隨著計算機技術的飛躍發展,態勢二維可視化技術日趨成熟并逐步實用化,伴隨著數字化的發展,各國都越來越重視對態勢三維可視化的研究。從整體而言,三維技術的發展已經相對比較完善,有些技術已經發展了較長一段時間,現在的三維技術已經可以應用在實際中而且表現效果也很好。一般態勢標繪有二維態勢和三維態勢2種方式[1],態勢標繪可以廣泛應用于災難防范,應急事件處理、防火、反恐等諸多領域。
目前,針對態勢標繪的問題,已經有很多研究者提出了解決方案,態勢標繪可分為常規標繪和函數標繪,而對于態勢標繪來說,常規標繪較為簡單,可通過建立標準模型庫,以滿足態勢標繪需求;而箭頭標繪、各種區域標繪作為函數標繪中最基本、最常用的態勢符號,是典型的非規則標繪,其三維繪制研究對于整個非規則三維標繪的實現具有重要意義[2],本文重點研究單箭頭標繪和雙箭頭標繪,針對態勢標繪中實時態勢標繪要求,研究實現二維態勢與三維態勢聯動表現的一體化操作和顯示模型,提出了一種中點約束算法模型的通用標繪方法,可有效實現二三維環境下箭標的實時標繪。
貝塞爾曲線是在計算機圖形和相關領域中經常使用的一個參數化的曲線,可在矢量圖形中用來模擬流暢的曲線,可無限期地進行調整。有許多方法來構造一條Bezier曲線,為有效控制曲線的趨進程度,增加曲線的擬合效果,本文提出基于中點的曲線擬合算法,采用分割獲取的方法,構建擬合曲線,提高曲線擬合效率。中點算法曲線點如圖1所示。

圖1 中點算法曲線點示意圖

其中:T為遞歸次數,為常數,0≤n<T,midpoint為中點算法遞歸函數。
當n=0,可計算獲得C1,C2,C3值,如式(2)所示。

其中,a為首次計算的趨進權重,默認為1/2,可控制到P2的趨進程度。
當a=1/2時,式(2)可合并到式(1),為增加擬合曲線到P2的趨進度可減小a的取值。
1)為實現二三維一體化顯示,以二維環境為基礎,構建中軸線約束模型,有效提高效率和可操作性,實現一體化聯動顯示。
2)基于二維環境,根據用戶給出的約束源(可以是模型上的點、線或者面)、約束的有效半徑R來確定各點處的變形權值進行變形[3],構建箭標圖形。
3)將二維環境下構建的箭標圖形,在三維環境下進行地形匹配擬合。
1)初始約束點(P):用戶初始輸入點,P1為箭頭出發點,P3為目標點,P2為中間約束點,本算法采用3點約束控制,數據模型僅保存初始約束點的坐標值即可,大大降低了數據模型存儲的復雜度,如圖2所示。

圖2 二維箭頭模型
2)中軸線(P1-P3):用于控制箭頭模型關鍵部位,標準化情況下中軸線為直線,P2位于中軸線上。
3)中軸線控制點(C):由P1,P2,P3采用中點算法擬合獲得的控制點,用于約束控制中軸線的關鍵部位,隨出發點、目標點、中間控制點的改變而改變。
4)關鍵點(A):由中軸線控制點與約束的有效半徑R(常數)確定的箭頭輪廓外形關鍵點(A1-An)。
首先根據用戶輸入的初始約束點(P1,P2,P3),采用中點算法擬合中軸線控制點(C),并記錄初始約束點;然后根據中軸線控制點計算并擬合箭頭輪廓外形關鍵點(A1-An),形成二維態勢箭頭模型,采用動態柵格化方法與三維地形進行無縫擬合顯示。標繪流程如圖3所示。

圖3 箭頭標繪流程
1)約束點初始化。用戶輸入初始約束點,P1為箭頭出發點,P3為目標點,P2為中間約束點,及約束距離S。
2)中軸線控制點擬合。根據初始的約束點,采用中點約束算法,計算中軸線控制點(C1-C5),為便于描述將二維箭頭模型的中軸線簡化迭代次數(T=2),如圖4所示。其中C1=P1,C5=P3。

圖4 二維箭頭網格模型
3)箭尾關鍵點生成。箭尾關鍵點由A5,C2,A6構成,以C2為頂點,以C2,P1(C1)為高,構建等腰△C2A5A6,其中A5,P1(C1)的距離為DIS,其中;n為中軸線控制點總數,n=2T+1。由此計算A5,A6的值,依次類推計算箭身關鍵點A2,A3,A4,A7,A8,A9。
4)箭頭關鍵點生成。箭頭關鍵點構成包括箭頭點(P3),2個箭耳點(A1,A10)和2個箭頸點(A2,A9),共計5個點。由以上的推算可知,僅有箭耳點為未知點,采用步驟3)同樣的方法計算。
在三維環境中進行態勢標繪,因箭頭標繪為面狀符號,跨越的地形起伏變化也較大,需重點解決態勢標繪與地形高程的匹配問題。同時現階段,三維平臺眾多且技術比較成熟,為提高態勢標繪技術的通用性及在三維環境中顯示效率,本文采用將標繪圖形進行動態柵格化,并將柵格化圖像于地形進行擬合,大大提高了執行效率和顯示效果。
因采用中軸線控制點構建箭頭模型,為提高在三維環境下顯示速度,本文采用控制中軸線控制點的數目,簡化模型,即控制迭代參數T;通過逐次簡化減少幾何復雜性,從而提高繪制算法的效率。細節層次模型簡化如圖5及表1所示。

圖5 細節層次模型簡化示意圖

表1 細節層次模型簡化參數
雙箭標繪與單箭標繪在繪制時基本思想一致,不同之處在于雙箭標繪需要繪制兩箭頭的連接。本文雙箭頭模型采用6個初始約束點,兩箭頭的連接采用中點算法進行擬合,擬合模型如圖6所示,可通過調整初始約束點分別控制2個箭頭的走向。

圖6 雙箭頭模型效果
以SuperMap Object.Net6R(2012)作為二維顯示平臺,GeoGlobe作為三維顯示平臺,采用PC機(T7400 2.16GHz,NVIDIA Quadro NVS120M,1GB內存),利用Visual Studio2008,運用本文算法模型,構建二三維一體化態勢標繪系統。試驗效果如圖7所示。

圖7 態勢標繪試驗效果圖
本文介紹了態勢標繪的基本情況,提出并實現了基于中點的曲線擬合算法,詳細介紹了基于中軸線約束的單箭頭模型的基本思想、算法實現,通過試驗取得了較好的效果,本方法和算法模型大大簡化了態勢標繪中初始輸入點的數據,簡化了存儲模型,有利于二三維一體化操作和顯示,更可通用于不同的二、三維GIS平臺。雖然現階段已經積累了豐富的經驗,但仍有大量問題待解決和完善。下一步需要重點研究高效的三維模型標繪符號及三維表現形式,隨著技術的發展和態勢標繪的深層次應用,將促使我們提出更好的解決方案。
[1]陳建祥,魏迎梅,吳玲達.虛擬戰場環境中的態勢標繪與表現[J].計算機應用,2005,25(7):1701-1703.
[2]馬洪文,熊軍,楊曉松,等.基于OpenGL中Bezier曲面的三維箭標繪制研究[J].軍事交通學院學報,2009,11(5):86-90.
[3]周艷,劉圣軍,金小剛,等.基于測地距離的多邊形網格模型約束變形[J].JournalofSoftware,2007,18(6):1543-1552.
[4]劉會剛,秦國亮.一種基于Bezier曲線的軍事箭標實現[J].四川兵工學報,2009,30(2):67-68.
[5]劉會剛,秦國亮.一種漸進式平滑軌跡線標繪方法[J].系統仿真學報,2012,24(2):357-360.
[6]王燕.二三維一體化的WebGIS系統的研究與實現[J].測繪學報,2011,34(5):46-47.
[7]徐敬海,徐徐,聶高眾,等.基于GIS的地震應急態勢標繪技術研究[J].武漢大學學報:信息科學版,2011,36(1):66-70.