一種匹配真實三維環境的動態水域可視化方法及系統的制作方法
【專利摘要】本發明提供一種匹配真實三維環境的動態水域可視化方法,該方法包括:步驟1,構建三維環境的基礎地形,所述基礎地形包括:地面的高程數據以及對應匹配的影像數據;步驟2,依據三維環境的基礎地形設置水波面所覆蓋的形狀,構建符合基礎地形變化的水域面;步驟3,按照水域面限定的各個頂點信息和三角面片信息控制、更新水波面所覆蓋的形狀;步驟4,將水域面的各個頂點按照時間序列更新對應的位置點,同時將水域面對應的各個三角面片實時更新面片顏色,并反映出光照的反射與折射現象,獲得的動態水域信息;步驟5,將動態水域信息呈現給用戶。本發明能實現在任意球體三維真實環境下繪制既符合流域形態且遵循地形起伏變化的三維動態水面。
【專利說明】一種匹配真實三維環境的動態水域可視化方法及系統
【技術領域】
[0001]本發明屬于水體可視化領域,尤其涉及匹配真實三維環境的動態水域可視化方法及系統。
【背景技術】
[0002]隨著三維數字化城市與數字化地球的全面擴展,人們開始不僅僅是研究三維復雜陸地環境的表達,同時也開展了對三維水體環境的表達。水體可視化技術已經廣泛應用于軍事演練、動漫游戲、數字規劃、水利監測等各個領域。
[0003]水體可視化的核心是水波面的模擬。水波面的構建包含兩個部分:一是水波面覆蓋范圍的表達;二是水面波紋的表達。對于水波面覆蓋范圍的表達一般參考的是平面坐標下任意矩形范圍的表達或橢球體(球體)坐標下全域球面范圍的表達;而對于水面波紋的表達一般借助于水波模型進行模擬,水波模型主要分為兩類:一類是幾何建模方法,通常是在一個平面上根據每個象素法向量進行攪動形成凹凸紋理來模擬水面波動的狀態。二類是形象得變更高度場的水波模型,如Tessendorf模型利用快速傅立葉變換函數變更高度場的頻譜域轉化到空間域的方法來模擬水體表面的動態變化;Peachey模型采用正弦函數和二次函數線性組合的高度場算法模擬波動的水面等,這類模型相對于幾何模型的仿真效果要逼真的多。
[0004]如今,基于變更高度場的水波模型已經可以表達全域范圍內的球面或任意矩形的平面。但是此類水波模型在模擬對應的水波范圍時,因為自定義的水波面初始高程是固定值,且水波范圍一般設置為橫縱面四點的管理或是全球球面的管理,導致無法正確的模擬符合地形起伏變化的水流路徑。這樣的模擬會出現的兩類問題包括水流的流動區域因為地形高程過高而被掩蓋以及出現非水流流域范圍的水流聚集現象,整體或多或少的失真。為了使水波模型繪制出符合自身三維系統的地形高程起伏變化,且不出現異地水流聚集現象,需要解決兩個關鍵問題:一是構建的水波面覆蓋范圍應當限定在流域可見范圍內;二是水波面任意點的高程值應當大于或等于實際三維系統中所對應地形位置點的高程值。綜上所述其關鍵問題是如何在任意真實三維環境下繪制既符合流域形態且遵循地形起伏變化的三維動態水面。
【發明內容】
[0005]為解決上述問題,本發明提供一種匹配真實三維環境的動態水域可視化方法及裝置,該方法及裝置借助Tessendorf水波模型實現在任意球體三維真實環境下繪制既符合流域形態且遵循地形起伏變化的三維動態水面。
[0006]本發明的匹配真實三維環境的動態水域可視化方法,包括:
[0007]步驟1,構建三維環境的基礎地形,所述基礎地形包括:地面的高程數據以及對應匹配的影像數據;
[0008]步驟2,依據所述三維環境的基礎地形設置水波面所覆蓋的形狀,構建符合基礎地形變化的水域面;
[0009]步驟3,按照所述水域面限定的各個頂點信息和三角面片信息控制、更新所述水波面所覆蓋的形狀;
[0010]步驟4,將所述水域面的各個頂點按照時間序列更新對應的位置點,同時將所述水域面對應的各個三角面片實時更新面片顏色,并反映出光照的反射與折射現象,獲得的動態水域信息;
[0011]步驟5,將所述動態水域信息呈現給用戶;
[0012]進一步的,所述步驟2包括:
[0013]步驟21,依據所述高程數據插值獲取水域面邊界的高程值,提取所述水域面的邊界線;
[0014]步驟22,依據所述高程值插值的水域邊界線高程點,獲得水域面所覆蓋的數字高程數據;
[0015]步驟23,使用掃描射線方法,獲取所述數字高程數據中的每個格網的頂點位置,根據所述頂點位置繪制三角網,并記錄三角網的繪制方式,構建三角網的索引列表,根據該索弓I列表構建符合基礎地形變化的水域面。
[0016]進一步的,所述步驟21包括:
[0017]步驟211,對繪制的邊界線段進行固定分段,獲取細節線段,進行的固定分段是依據自定義劃分的每條線段數量獲取平均的球面夾角進行的分裂;
[0018]步驟212,對所述的細節線段進行細節劃分,直到遍歷的細節線段之間的弧度值小于或等于I弧度;
[0019]步驟213,判讀各個線段是否與地形數據相交,如果沒有交集則直接輸出水域面邊界的位置點(包括高程值),如果存在交集需要做夾角中間值切斷,直到沒有交集后輸出水域面邊界的位置點(包括高程值)。
[0020]進一步的,所述步驟22包括
[0021]步驟221,設置位置點的緩沖值,其要求是按照向內陸拓展的過程,本發明中的緩沖值為10米;
[0022]步驟222,設置緩沖延續點的高程值低于實際地形數據值,緩沖延續點的高程值可以為距離最近位置點的高程值;
[0023]步驟223,將所有的位置點借助反距離插值方法生成不同位置高程值,且插值要參考覆蓋水域的對側位置點;
[0024]步驟224,將插值的信息生成標準的數字高程數據。
[0025]本發明還提供一種匹配真實三維環境的動態水域可視化裝置,包括:
[0026]基礎地形構建單元,構建三維環境的基礎地形,所述基礎地形包括:地面的高程數據以及對應匹配的影像數據;
[0027]水域面構建單元,依據所述三維環境的基礎地形設置水波面所覆蓋的形狀,構建符合基礎地形變化的水域面;
[0028]更新單元,按照所述水域面限定的各個頂點信息和三角面片信息控制、更新所述水波面所覆蓋的形狀;
[0029]獲取單元,將所述水域面的各個頂點按照時間序列更新對應的位置點,同時將所述水域面對應的各個三角面片實時更新面片顏色,并反映出光照的反射與折射現象,獲得的動態水域信息;
[0030]呈現單元,將所述動態水域信息呈現給用戶;
[0031]進一步的,所述水域面構建單元包括:
[0032]插值單元,依據所述高程數據插值獲取水域面邊界的高程值,提取所述水域面的邊界線;
[0033]數字高程數據獲得單元,依據所述高程值的水域邊界線插值高程點,獲得水域面所覆蓋的數字高程數據;
[0034]處理單元,使用掃描射線方法,獲取所述數字高程數據中的每個格網的頂點位置,并記錄三角網的繪制方式,構建三角網的索引列表,根據該索引列表構建符合基礎地形變化的水域面。
[0035]進一步的,所述插值單元包括:
[0036]分段單元,對繪制的邊界線段進行固定分段,獲取細節線段,進行的固定分段是依據自定義劃分的每條線段數量獲取平均的球面夾角進行的分裂;
[0037]細劃單元,對所述的細節線段進行細節劃分,直到遍歷的細節線段之間的弧度值小于或等于I弧度;
[0038]判讀處理單元,判讀各個線段是否與地形數據相交,如果沒有交集則直接輸出水域面邊界的位置點(包括高程值),如果存在交集需要做夾角中間值切斷,直到沒有交集后輸出水域面邊界的位置點(包括高程值)。
[0039]進一步的,所述數字高程數據獲得單元包括:
[0040]第一設置單元,設置位置點的緩沖范圍,其要求是按照向內陸拓展的過程;
[0041]第二設置單元,設置緩沖延續點的高程值低于實際地形數據值,緩沖延續點的高程值可以為距離最近位置點的高程值;
[0042]覆蓋單元,將所有的位置點借助反距離插值方法生成不同位置高程值,且插值點的參考范圍覆蓋水域的對側位置點;
[0043]生成單元,將插值的信息生成標準的數字高程數據。
[0044]本發明的有益效果在于,借助Tessendorf水波模型實現在任意球體三維真實環境下繪制既符合流域形態且遵循地形起伏變化的三維動態水面。
【專利附圖】
【附圖說明】
[0045]圖1為本發明的匹配真實三維環境的動態水域可視化方法流程圖;
[0046]圖2為本發明的設置的兩點自動生成的40個邊界高程點示意圖;
[0047]圖3為本發明的依據兩側不同的緩沖延續點生成的數字高程數據示意圖;
[0048]圖4為本發明的提取的三角網所構建的水域面示意圖。
【具體實施方式】
[0049]圖1為本發明的匹配真實三維環境的動態水域可視化方法流程圖。如圖1所示,本發明的匹配真實三維環境的動態水域可視化方法,包括:
[0050]步驟1,構建三維環境的基礎地形,所述基礎地形包括:地面的高程數據以及對應匹配的影像數據;
[0051]步驟2,依據所述三維環境的基礎地形設置水波面所覆蓋的形狀,構建符合基礎地形變化的水域面;
[0052]步驟3,按照所述水域面限定的各個頂點信息和三角面片信息控制、更新所述水波面所覆蓋的形狀;
[0053]步驟4,利用GPU(圖形處理器)將所述水域面的各個頂點按照時間序列更新對應的位置點(位置點的更新是依托快速傅立葉變換函數計算出來),同時將所述水域面對應的各個三角面片實時更新面片顏色,并反映出光照的反射與折射現象,獲得的動態水域信息;
[0054]步驟5,將所述動態水域信息呈現給用戶;
[0055]進一步的,所述步驟2包括:
[0056]步驟21,依據所述高程數據插值獲取水域面邊界的高程值,提取所述水域面的邊界線;
[0057]步驟22,依據所述高程值插值的水域邊界線高程點,獲得水域面所覆蓋的數字高程數據;
[0058]步驟23,使用掃描射線方法,獲取所述數字高程數據中的每個格網的頂點位置,并記錄三角網的繪制方式,構建三角網的索引列表,根據該索引列表構建符合基礎地形變化的水域面。
[0059]步驟21與23的實施基于VC++編寫,分別實現水域邊界線提取和符合地形變化的水域面任意水面形狀的構建。步驟22實施基于ArcGIS應用,獲取出對應水域范圍內的高程插值信息。通過上述方法,不但脫離基礎地形數據高精度的需求,而且能夠模擬出符合地形高程起伏變化的任意形狀水體。為各類水域特征的信息提供有效地處理方式,實現水體高效且合理的表達過程。
[0060]進一步的,所述步驟21包括:
[0061]步驟211,對繪制的邊界線段進行固定分段,獲取細節線段,進行的固定分段是依據自定義劃分的每條線段數量獲取平均的球面夾角進行的分裂。
[0062]步驟212,對所述的細節線段進行細節劃分,直到遍歷的細節線段之間的弧度值小于或等于I弧度。
[0063]步驟213,判讀各個線段是否與地形數據相交,如果沒有交集則直接輸出水域面邊界的位置點(包括高程值),如果存在交集需要做夾角中間值切斷,直到沒有交集后輸出水域面邊界的位置點(包括高程值)。
[0064]一實施例是:獲取繪制的一條線劃數據,包括組織該條線劃數據的各個線段的起點與終點坐標內容。判讀獲取的各個線段后,是否需要按照定制打斷的個數再次更新分裂,如果已經定制線段的分裂個數,直接粗略的先對每條線段依據兩點之間的球面弧度夾角方式進行平均分裂、分段插值,獲得更加細化的線段分段列表,包括細分后的線段列表和線段起終點位置內容。判讀對已經定制打斷的個數而生成較為細化的分裂數據后,依據細節分割的閾值范圍(通常設定為I弧度),如果遍歷的線段之間的夾角弧度值小于I弧度,則跳過;反之需要再次以夾角中間值的方式分割位置點,同時更新對應的起終點,直到滿足兩點連線之間的夾角是符合分割閾值之內的。獲取判讀分割閾值以內的線段頂點的正確高程值。借助頂點位置經過原點(0,0,0)的延長線(一般其延長線的長度為橢球體長半軸的一半)與地球交點作為該頂點的高程值。判讀各個線段是否與地形數據相交,如果相交,需要按照取得兩點夾角的中間點作為打斷點,再次分割線段,循環處理,直到取得出現無法分割的列表為止。獲取對應的線段列表的頂點位置,包括經緯度坐標和高程值內容。如圖2所示,圖2為本發明的設置的兩點自動生成的40個邊界高程點示意圖。
[0065]進一步的,所述步驟22包括
[0066]步驟221,設置位置點的緩沖范圍,其要求是按照向內陸拓展的過程。
[0067]步驟222,設置緩沖延續點的高程值低于實際地形數據值,緩沖延續點的高程值為距離最近位置點的高程值;此過程中延續點的高程值可以為距離最近位置點的高程值。
[0068]步驟223,將所有的位置點借助反距離插值方法生成不同位置高程值,且插值點的參考范圍覆蓋水域的對側位置點,此過程需要保證插值點的參考范圍覆蓋水域的對側位置點,這樣的做法能夠確保水域高程變化是符合一定傾斜的。如圖3所示,圖3為本發明的依據兩側不同的緩沖延續點生成的數字高程數據示意圖。
[0069]步驟224,將插值的信息生成標準的數字高程數據。(*.1mg格式),便于提取內部水域的各個頂點與三角面片。注意對非流域范圍內的位置點高程設置一個標識值(如-9999),保證后續檢索只提取水面形態對應的三角網。如圖4所示,圖4為本發明的提取的三角網所構建的水域面示意圖。
[0070]本發明還提供一種匹配真實三維環境的動態水域可視化裝置,包括:
[0071]基礎地形構建單元,構建三維環境的基礎地形,所述基礎地形包括:地面的高程數據以及對應匹配的影像數據;
[0072]水域面構建單元,依據所述三維環境的基礎地形設置水波面所覆蓋的形狀,構建符合基礎地形變化的水域面;
[0073]更新單元,按照所述水域面限定的各個頂點信息和三角面片信息控制、更新所述水波面所覆蓋的形狀;
[0074]獲取單元,將所述水域面的各個頂點按照時間序列更新對應的位置點,同時將所述水域面對應的各個三角面片實時更新面片顏色,并反映出光照的反射與折射現象,獲得的動態水域信息;
[0075]呈現單元,將所述動態水域信息呈現給用戶;
[0076]進一步的,所述水域面構建單元包括:
[0077]插值單元,依據所述高程數據插值獲取水域面邊界的高程值,提取所述水域面的邊界線;
[0078]數字高程數據獲得單元,依據所述高程值的水域邊界線插值高程點,獲得水域面所覆蓋的數字高程數據;
[0079]處理單元,使用掃描射線方法,獲取所述數字高程數據中的每個格網的頂點位置,并記錄三角網的繪制方式,構建三角網的索引列表,根據該索引列表構建符合基礎地形變化的水域面。
[0080]進一步的,所述插值單元包括:
[0081]分段單元,對繪制的邊界線段進行固定分段,獲取細節線段,進行的固定分段是依據自定義劃分的每條線段數量獲取平均的球面夾角進行的分裂;[0082]細劃單元,對所述的細節線段進行細節劃分,直到遍歷的細節線段之間的弧度值小于或等于I弧度;
[0083]判讀處理單元,判讀各個線段是否與地形數據相交,如果沒有交集則直接輸出水域面邊界的位置點(包括高程值),如果存在交集需要做夾角中間值切斷,直到沒有交集后輸出水域面邊界的位置點(包括高程值)。
[0084]進一步的,所述數字高程數據獲得單元包括:
[0085]第一設置單元,設置位置點的緩沖范圍,其要求是按照向內陸拓展的過程;
[0086]第二設置單元,設置緩沖延續點的高程值低于實際地形數據值,緩沖延續點的高程值可以為距離最近位置點的高程值;
[0087]覆蓋單元,將所有的位置點借助反距離插值方法生成不同位置高程值,且插值點的參考范圍覆蓋水域的對側位置點;
[0088]生成單元,將插值的信息生成標準的數字高程數據。
[0089]當然,本發明還可有其他多種實施例,在不背離本發明精神及其實質的情況下,熟悉本領域的技術人員當可根據本發明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發明所附的權利要求的保護范圍。
【權利要求】
1.一種匹配真實三維環境的動態水域可視化方法,其特征在于,包括: 步驟1,構建三維環境的基礎地形,所述基礎地形包括:地面的高程數據以及對應匹配的影像數據; 步驟2,依據所述三維環境的基礎地形設置水波面所覆蓋的形狀,構建符合基礎地形變化的水域面; 步驟3,按照所述水域面限定的各個頂點信息和三角面片信息控制、更新所述水波面所覆蓋的形狀; 步驟4,將所述水域面的各個頂點按照時間序列更新對應的位置點,同時將所述水域面對應的各個三角面片實時更新面片顏色,并反映出光照的反射與折射現象,獲得的動態水域信息; 步驟5,將所述動態水域信息呈現給用戶; 進一步的,所述步驟2包括: 步驟21,依據所述高程數據插值獲取水域面邊界的高程值,提取所述水域面的邊界線.步驟22,依據所述高程值插值的水域邊界線高程點,獲得水域面所覆蓋的數字高程數 據; 步驟23,使用掃描射線方法,獲取所述數字高程數據中的每個格網的頂點位置,根據所述頂點位置繪制三角網,并記錄三角網的繪制方式,構建三角網的索引列表,根據該索引列表構建符合基礎地形變化的水域面。
2.如權利要求1所述的匹配真實三維環境的動態水域可視化方法,其特征在于,所述步驟21包括: 步驟211,對繪制的邊界線段進行固定分段,獲取細節線段,進行的固定分段是依據自定義劃分的每條線段數量獲取平均的球面夾角進行的分裂; 步驟212,對所述的細節線段進行細節劃分,直到遍歷的細節線段之間的弧度值小于或等于I弧度; 步驟213,判讀各個線段是否與地形數據相交,如果沒有交集則直接輸出水域面邊界的位置點,如果存在交集需要做球面夾角中間值的切斷,直到沒有交集后輸出水域面邊界的位置點。
3.如權利要求1所述的匹配真實三維環境的動態水域可視化方法,其特征在于,所述步驟22包括 步驟221,設置位置點的緩沖值,其設置要求是按照向內陸拓展的過程; 步驟222,設置緩沖延續點的高程值低于實際地形數據值,緩沖延續點的高程值為距離最近位置點的高程值; 步驟223,將所有的位置點借助反距離插值方法生成不同位置高程值,且插值要參考覆蓋水域的對側位置點; 步驟224,將插值的信息生成標準的數字高程數據。
4.一種匹配真實三維環境的動態水域可視化裝置,其特征在于,包括: 基礎地形構建單元,構建三維環境的基礎地形,所述基礎地形包括:地面的高程數據以及對應匹配的影像數據;水域面構建單元,依據所述三維環境的基礎地形設置水波面所覆蓋的形狀,構建符合基礎地形變化的水域面; 更新單元,按照所述水域面限定的各個頂點信息和三角面片信息控制、更新所述水波面所覆蓋的形狀; 獲取單元,將所述水域面的各個頂點按照時間序列更新對應的位置點,同時將所述水域面對應的各個三角面片實時更新面片顏色,并反映出光照的反射與折射現象,獲得的動態水域信息; 呈現單元,將所述動態水域信息呈現給用戶; 進一步的,所述水域面構建單元包括: 插值單元,依據所述高程數據插值獲取水域面邊界的高程值,提取所述水域面的邊界線.數字高程數據獲得單元,依據所述高程值的水域邊界線插值高程點,獲得水域面所覆蓋的數字高程數據; 處理單元,使用掃描射線方法,獲取所述數字高程數據中的每個格網的頂點位置,并記錄三角網的繪制方式,構建三角網的索引列表,根據該索引列表構建符合基礎地形變化的水域面。
5.如權利要求4所述的匹配真實三維環境的動態水域可視化裝置,其特征在于,所述插值單元包括: 分段單元,對繪制的邊界線段進行固定分段,獲取細節線段,進行的固定分段是依據自定義劃分的每條線段數量獲取平均的球面夾角進行的分裂;· 細劃單元,對所述的細節線段進行細節劃分,直到遍歷的細節線段之間的弧度值小于或等于I弧度; 判讀處理單元,判讀各個線段是否與地形數據相交,如果沒有交集則直接輸出水域面邊界的位置點,如果存在交集需要做夾角中間值切斷,直到沒有交集后輸出水域面邊界的位置點。
6.如權利要求4所述的匹配真實三維環境的動態水域可視化裝置,其特征在于,所述數字高程數據獲得單元包括: 第一設置單元,設置位置點的緩沖范圍,其設置要求是按照向內陸拓展的過程; 第二設置單元,設置緩沖延續點的高程值低于實際地形數據值,緩沖延續點的高程值為距離最近位置點的高程值; 覆蓋單元,將所有的位置點借助反距離插值方法生成不同位置高程值,且插值點的參考范圍覆蓋水域的對側位置點; 生成單元,將插值的信息生成標準的數字高程數據。
【文檔編號】G06T17/00GK103530901SQ201310487386
【公開日】2014年1月22日 申請日期:2013年10月17日 優先權日:2013年10月17日
【發明者】王亮, 劉媛, 趙榮, 劉小標, 何望君 申請人:中國測繪科學研究院