System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及氣象仿真領域,特別涉及一種基于氣象環境的三維實時仿真方法、裝置、設備及存儲介質。
技術介紹
1、氣象環境的三維實時仿真技術在氣象研究和預測中具有重要意義。基于數值天氣預報的結果,應用虛擬現實技術可以模擬顯示未來的大氣環境,實現多維視角和全方位觀察。這為防災減災、大氣環境模擬與預測、重大活動指揮推演等氣象服務保障提供了新的技術手段。
2、隨著webgl技術的不斷成熟,三維可視化在web應用中的需求也日益增長。然而,三維空間插值渲染通常只能在某一水平方向上進行,要實現不同高度的氣象數據在三維場景中的渲染,成為webgl技術應用的關鍵挑戰。
3、由于氣象環境中的要素信息復雜多變,并且在不同地貌環境中產生的影響也不同,現有的氣象仿真技術主要依賴熱力圖和著色器程序來實現氣象要素的三維空間插值渲染。熱力圖通過將氣象要素的數據轉換為顏色,實現三維空間插值渲染;著色器程序則通過編寫代碼實現復雜的三維空間插值渲染效果。現有技術的缺點在于實現邏輯較為復雜,且難以支持數據的實時過濾渲染以及水平和垂直剖面的可視化渲染能力。
4、有鑒于此,提出本申請。
技術實現思路
1、本專利技術公開了一種基于氣象環境的三維實時仿真方法、裝置、設備及存儲介質,旨在解決現有技術難以支持數據的實時過濾渲染以及水平和垂直剖面的可視化渲染能力。
2、本專利技術第一實施例提供了一種基于氣象環境的三維實時仿真方法,包括:
3、獲取氣象數據,根據所述氣象數據創建二
4、對所述二維紋理進行預處理,將預處理后的所述二維紋理保存在第一數組和第二數組內,并基于所述第一數組和所述第二數組生成所述氣象數據的三維紋理,具體為:將所述二維紋理數據進行歸一化處理,以使得所述二維紋理數據的范圍在0-255之間,其中,所述二維紋理數據包括角度數組、水平拆分數組、深度拆分數組,創建所述第一數組用于保存歸一化后的數據的整數部分,創建所述第二數組用于保存歸一化后的數據的小數部分;創建用于傳入第一數組的第一三維紋理,創建用于傳入第二數組的第二三維紋理,根據所述第一三維紋理和所述第二三維紋理生成所述氣象數據的三維紋理;
5、將所述氣象數據的三維紋理輸入片元著色器,以獲取頂點位置和視點位置,基于所述頂點位置和視點位置生成視點對頂點的射線,并在片元著色器內生成視點對頂點的射線與所述氣象數據的三維空間的交點范圍;
6、遍歷所述氣象數據的三維空間的交點范圍的分層點,對所述氣象數據的三維空間進行體渲染。
7、優選地,所述獲取氣象數據,根據所述氣象數據創建二維紋理,具體為:
8、配置所述氣象數據的最小值、最大值,并指定圖例顏色數組中的比例和顏色;
9、根據指定圖例顏色數組中的比例和顏色來計算線性漸變色帶,并根據所述最小值和所述最大值計算數據值對應的顏色值;
10、基于所述線性漸變色帶和所述顏色值創建二維紋理。
11、優選地,所述基于所述頂點位置和視點位置生成視點對頂點的射線的表達式為:
12、vdirection=position-vorigin
13、其中,position為頂點位置,vorigin為視點位置,vdirection為視點對頂點的射線。
14、優選地,所述在片元著色器內生成視點對頂點的射線與所述氣象數據的三維空間的交點范圍,具體為:
15、調用hitbox函數,并利用逆向射線法計算視點對頂點的射線與所述氣象數據的三維空間的交點范圍,交點范圍包括:正方體的最小和最大邊界、射線方向的倒數、以及射線與邊界的交點參數。
16、優選地,在遍歷所述氣象數據的三維空間的交點范圍的分層點,對所述氣象數據的三維空間進行體渲染之前,還包括:
17、將三維紋理的坐標轉換為實際的高度值,遍歷深度拆分數組以確定所述高度值所在的深度區間;
18、計算所述高度值在深度區間中的相對位置,返回所述三維紋理的z坐標。
19、優選地,所述遍歷所述氣象數據的三維空間的交點范圍的分層點,對所述氣象數據的三維空間進行體渲染,具體為:
20、確定所述視點對頂點的射線起點和終點,并計算分層步長并初始化顏色;
21、遍歷起點和終點之間的分層點,計算每個分層點的坐標并轉換為真實紋理的z坐標;
22、根據真實紋理的z坐標從紋理中獲取對應的顏色,調用顏色混合算法將當前顏色和新采樣到的顏色混合。
23、本專利技術第二實施例提供了一種基于氣象環境的三維實時仿真裝置,包括:
24、二維紋理創建單元,用于獲取氣象數據,根據所述氣象數據創建二維紋理,其中,所述二維紋理用于存儲從數值到顏色的映射關系;
25、三維紋理生成單元,用于對所述二維紋理進行預處理,將預處理后的所述二維紋理保存在第一數組和第二數組內,并基于所述第一數組和所述第二數組生成所述氣象數據的三維紋理,具體用于:將所述二維紋理數據進行歸一化處理,以使得所述二維紋理數據的范圍在0-255之間,其中,所述二維紋理數據包括角度數組、水平拆分數組、深度拆分數組,創建所述第一數組用于保存歸一化后的數據的整數部分,創建所述第二數組用于保存歸一化后的數據的小數部分;創建用于傳入第一數組的第一三維紋理,創建用于傳入第二數組的第二三維紋理,根據所述第一三維紋理和所述第二三維紋理生成所述氣象數據的三維紋理;
26、交點范圍生成單元,用于將所述氣象數據的三維紋理輸入片元著色器,以獲取頂點位置和視點位置,基于所述頂點位置和視點位置生成視點對頂點的射線,并在片元著色器內生成視點對頂點的射線與所述氣象數據的三維空間的交點范圍;
27、體渲染單元,用于遍歷所述氣象數據的三維空間的交點范圍的分層點,對所述氣象數據的三維空間進行體渲染。
28、本專利技術第三實施例提供了一種基于氣象環境的三維實時仿真設備,包括存儲器以及處理器,所述存儲器內存儲有計算機程序,所述計算機程序能夠被所述處理器執行,以實現如上任意一項所述的一種基于氣象環境的三維實時仿真方法。
29、本專利技術第四實施例提供了一種計算機可讀存儲介質,其特征在于,存儲有計算機程序,所述計算機程序能夠被所述計算機可讀存儲介質所在設備的處理器執行,以實現如上任意一項所述一種基于氣象環境的三維實時仿真方法。
30、基于本專利技術提供的一種基于氣象環境的三維實時仿真方法、裝置、設備及存儲介質,通過先獲取氣象數據,根據所述氣象數據創建二維紋理,接著,對所述二維紋理進行預處理,將預處理后的所述二維紋理保存在第一數組和第二數組內,并基于所述第一數組和所述第二數組生成所述氣象數據的三維紋理,再接著,將所述氣象數據的三維紋理輸入片元著色器,以獲取頂點位置和視點位置,基于所述頂點位置和視點位置生成視點對頂點的射線,并在片元著色器內生成視點對頂點的射線與所述氣象數據的三維空間本文檔來自技高網...
【技術保護點】
1.一種基于氣象環境的三維實時仿真方法,其特征在于,包括:
2.根據權利要求1所述的一種基于氣象環境的三維實時仿真方法,其特征在于,所述獲取氣象數據,根據所述氣象數據創建二維紋理,具體為:
3.根據權利要求1所述的一種基于氣象環境的三維實時仿真方法,其特征在于,所述基于所述頂點位置和視點位置生成視點對頂點的射線的表達式為:
4.根據權利要求1所述的一種基于氣象環境的三維實時仿真方法,其特征在于,所述在片元著色器內生成視點對頂點的射線與所述氣象數據的三維空間的交點范圍,具體為:
5.根據權利要求1所述的一種基于氣象環境的三維實時仿真方法,其特征在于,在遍歷所述氣象數據的三維空間的交點范圍的分層點,對所述氣象數據的三維空間進行體渲染之前,還包括:
6.根據權利要求1所述的一種基于氣象環境的三維實時仿真方法,其特征在于,所述遍歷所述氣象數據的三維空間的交點范圍的分層點,對所述氣象數據的三維空間進行體渲染,具體為:
7.一種基于氣象環境的三維實時仿真裝置,其特征在于,包括:
8.一種基于氣象環境的三維實時
9.一種計算機可讀存儲介質,其特征在于,存儲有計算機程序,所述計算機程序能夠被所述計算機可讀存儲介質所在設備的處理器執行,以實現如權利要求1至6任意一項所述一種基于氣象環境的三維實時仿真方法。
...【技術特征摘要】
1.一種基于氣象環境的三維實時仿真方法,其特征在于,包括:
2.根據權利要求1所述的一種基于氣象環境的三維實時仿真方法,其特征在于,所述獲取氣象數據,根據所述氣象數據創建二維紋理,具體為:
3.根據權利要求1所述的一種基于氣象環境的三維實時仿真方法,其特征在于,所述基于所述頂點位置和視點位置生成視點對頂點的射線的表達式為:
4.根據權利要求1所述的一種基于氣象環境的三維實時仿真方法,其特征在于,所述在片元著色器內生成視點對頂點的射線與所述氣象數據的三維空間的交點范圍,具體為:
5.根據權利要求1所述的一種基于氣象環境的三維實時仿真方法,其特征在于,在遍歷所述氣象數據的三維空間的交點范圍的分層點,對所述氣象數據的三維空間進行體渲染之前,還...
【專利技術屬性】
技術研發人員:游琴,林澤鵬,陳俊杰,沈杰,路彩虹,
申請(專利權)人:廈門天衛科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。