本發(fā)明涉及流場(chǎng)可視化,特別涉及一種飛行器表面流線生成方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、科學(xué)可視化(scientific?visualization)是一門跨學(xué)科的綜合性科研領(lǐng)域,主要應(yīng)用對(duì)象是氣象學(xué)、醫(yī)學(xué)、建筑學(xué)等需要對(duì)抽象數(shù)據(jù)進(jìn)行整合顯示的學(xué)科。其研究重點(diǎn)在于對(duì)點(diǎn)、線、面的逼真渲染和展示,在某些特殊情況下還需要求對(duì)數(shù)據(jù)進(jìn)行動(dòng)態(tài)顯示。科學(xué)可視化本身并不是進(jìn)行科學(xué)研究的最終目的,而是許多科學(xué)研究的輔助工具,通過(guò)對(duì)數(shù)據(jù)模型的操作處理幫助研究者們直觀地理解數(shù)據(jù)特征,將抽象的數(shù)據(jù)進(jìn)行直觀地表示,輔助研究人員完成對(duì)數(shù)值計(jì)算的海量數(shù)據(jù)處理與分析。
2、流場(chǎng)可視化是科學(xué)計(jì)算可視化中的一個(gè)重要分支,主要是將計(jì)算流體力學(xué)的模擬計(jì)算結(jié)果轉(zhuǎn)換為圖形及圖像,幫助研究人員理解數(shù)據(jù),方便他們對(duì)計(jì)算結(jié)果進(jìn)行分析。流線作為一種常用的流場(chǎng)可視化方法,因其能直觀揭示流場(chǎng)的走向,在工程實(shí)踐中被廣泛運(yùn)用。在飛機(jī)、列車等物體的表面生成的流線稱為表面流線,它能直觀展示流體在飛機(jī)、列車等物體表面的流動(dòng)情況,對(duì)設(shè)計(jì)和改善物體的空氣動(dòng)力學(xué)性能具有重要意義。
3、表面流線關(guān)心物體表面的流體運(yùn)動(dòng)情況,是在三維空間中的二維曲面上繪制流線,與三維空間的流線繪制相比,非結(jié)構(gòu)網(wǎng)格數(shù)據(jù)存在數(shù)據(jù)外形曲面復(fù)雜、網(wǎng)格形式多樣的挑戰(zhàn),使得表面流線的繪制更為繁瑣復(fù)雜。目前的方法存在部分非結(jié)構(gòu)網(wǎng)格類型數(shù)據(jù)的表面流線生成位置不準(zhǔn)確,部分復(fù)雜網(wǎng)格樣式不支持生成表面流線的問(wèn)題,制約了用戶準(zhǔn)確觀察多種類型數(shù)據(jù)。因此,如何在復(fù)雜的非結(jié)構(gòu)化混合網(wǎng)格表面準(zhǔn)確生成流線是目前亟待解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本發(fā)明的目的在于提供一種飛行器表面流線生成方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),能夠準(zhǔn)確繪制生成緊貼非結(jié)構(gòu)化混合網(wǎng)格表面的流線。其具體方案如下:
2、第一方面,本技術(shù)公開(kāi)了一種飛行器表面流線生成方法,包括:
3、基于射線法確定飛行器表面流線的當(dāng)前起點(diǎn),將飛行器表面對(duì)應(yīng)的非結(jié)構(gòu)網(wǎng)格的各形狀的網(wǎng)格單元進(jìn)行劃分,以得到若干個(gè)三角形網(wǎng)格;
4、基于所述三角形網(wǎng)格對(duì)所述當(dāng)前起點(diǎn)的三維坐標(biāo)進(jìn)行平面坐標(biāo)映射,以得到所述當(dāng)前起點(diǎn)對(duì)應(yīng)的平面坐標(biāo),并根據(jù)所述當(dāng)前起點(diǎn)的平面坐標(biāo)基于二階龍格庫(kù)塔法計(jì)算新起點(diǎn)的位置坐標(biāo);
5、通過(guò)所述平面坐標(biāo)和所述位置坐標(biāo)確定目標(biāo)流線段,對(duì)所述目標(biāo)流線段與所述目標(biāo)流線段對(duì)應(yīng)的目標(biāo)三角形網(wǎng)格的相對(duì)位置進(jìn)行判斷,根據(jù)相應(yīng)的判斷結(jié)果確定所述新起點(diǎn)與所述目標(biāo)三角形網(wǎng)格的相對(duì)位置關(guān)系;
6、根據(jù)所述相對(duì)位置關(guān)系以及所述新起點(diǎn)的位置坐標(biāo)進(jìn)行相應(yīng)的迭代積分操作,通過(guò)所述迭代積分操作確定全部積分點(diǎn),將全部所述積分點(diǎn)進(jìn)行順序連接,以得到最終的飛行器表面流線。
7、可選的,所述基于射線法確定飛行器表面流線的當(dāng)前起點(diǎn),包括:
8、通過(guò)屏幕坐標(biāo)向飛行器對(duì)應(yīng)的三維場(chǎng)景發(fā)射一條垂直于屏幕的射線,并將相應(yīng)的返回射線首次命中的物體交點(diǎn)確定為所述飛行器表面流線的當(dāng)前起點(diǎn)。
9、可選的,所述通過(guò)屏幕坐標(biāo)向飛行器對(duì)應(yīng)的三維場(chǎng)景發(fā)射一條垂直于屏幕的射線之后,還包括:
10、若所述返回射線未命中物體,則直接終止所述飛行器表面流線的生成操作。
11、可選的,所述將飛行器表面對(duì)應(yīng)的非結(jié)構(gòu)網(wǎng)格的各形狀的網(wǎng)格單元進(jìn)行劃分,以得到若干個(gè)三角形網(wǎng)格,包括:
12、將所述飛行器表面對(duì)應(yīng)的非結(jié)構(gòu)網(wǎng)格的各形狀的網(wǎng)格單元進(jìn)行幾何體表面提取預(yù)處理,或?qū)⒏鲙缀误w的每個(gè)面分別轉(zhuǎn)換為多邊形,以得到相應(yīng)的多邊形網(wǎng)格;
13、將所述多邊形網(wǎng)格的各頂點(diǎn)進(jìn)行順序編號(hào),以確定各所述頂點(diǎn)的序號(hào);
14、確定所述多邊形網(wǎng)格的目標(biāo)頂點(diǎn),基于所述目標(biāo)頂點(diǎn)以及各所述頂點(diǎn)的序號(hào)將所述多邊形網(wǎng)格進(jìn)行劃分,以得到若干個(gè)三角形網(wǎng)格。
15、可選的,所述基于所述三角形網(wǎng)格對(duì)所述當(dāng)前起點(diǎn)的三維坐標(biāo)進(jìn)行平面坐標(biāo)映射,以得到所述當(dāng)前起點(diǎn)對(duì)應(yīng)的平面坐標(biāo),包括:
16、基于所述三角形網(wǎng)格對(duì)應(yīng)的三維坐標(biāo)系以及所述三角形網(wǎng)格的邊確定平面直角坐標(biāo)系,基于所述平面直角坐標(biāo)系的單位向量確定映射的旋轉(zhuǎn)矩陣;
17、根據(jù)所述旋轉(zhuǎn)矩陣確定所述三角形網(wǎng)格對(duì)應(yīng)的三個(gè)頂點(diǎn)的所述三維坐標(biāo)與所述平面坐標(biāo)之間的變換矩陣;
18、基于所述變換矩陣將所述當(dāng)前起點(diǎn)的三維坐標(biāo)進(jìn)行平面坐標(biāo)映射,以得到所述當(dāng)前起點(diǎn)的平面坐標(biāo)。
19、可選的,所述對(duì)所述目標(biāo)流線段與所述目標(biāo)流線段對(duì)應(yīng)的目標(biāo)三角形網(wǎng)格的相對(duì)位置進(jìn)行判斷,根據(jù)相應(yīng)的判斷結(jié)果確定所述新起點(diǎn)與所述目標(biāo)三角形網(wǎng)格的相對(duì)位置關(guān)系,包括:
20、利用快速排斥實(shí)驗(yàn)法對(duì)所述目標(biāo)流線段與所述目標(biāo)三角形網(wǎng)格的共線情況進(jìn)行排除,在共線情況排除后利用跨立試驗(yàn)法計(jì)算所述目標(biāo)流線段與所述目標(biāo)三角形網(wǎng)格的各網(wǎng)格邊是否相交,并根據(jù)相應(yīng)的計(jì)算結(jié)果確定所述目標(biāo)流線段與所述目標(biāo)三角形網(wǎng)格的交點(diǎn)數(shù)量;
21、根據(jù)所述交點(diǎn)數(shù)量確定所述新起點(diǎn)與所述目標(biāo)三角形網(wǎng)格的相對(duì)位置關(guān)系。
22、可選的,所述根據(jù)所述相對(duì)位置關(guān)系以及所述新起點(diǎn)的位置坐標(biāo)進(jìn)行相應(yīng)的迭代積分操作,包括:
23、若所述新起點(diǎn)在所述目標(biāo)三角形網(wǎng)格內(nèi),則將所述新起點(diǎn)的位置坐標(biāo)映射為相應(yīng)的三維坐標(biāo),將所述新起點(diǎn)確定為當(dāng)前起點(diǎn),并重新跳轉(zhuǎn)至所述基于所述三角形網(wǎng)格對(duì)所述當(dāng)前起點(diǎn)的三維坐標(biāo)進(jìn)行平面坐標(biāo)映射的步驟,直至滿足預(yù)設(shè)積分終止條件;所述預(yù)設(shè)積分終止條件包括積分步數(shù)等于預(yù)設(shè)步數(shù)閾值、當(dāng)前起點(diǎn)的矢量速度等于零、新起點(diǎn)超出數(shù)據(jù)邊界且沒(méi)有相鄰網(wǎng)格、在同一三角形網(wǎng)格內(nèi)積分次數(shù)超過(guò)預(yù)設(shè)值、點(diǎn)坐標(biāo)變換失敗以及查找相鄰網(wǎng)格失敗中的任意一種或幾種的組合;
24、若所述新起點(diǎn)不在所述目標(biāo)三角形網(wǎng)格內(nèi),則通過(guò)所述新起點(diǎn)的位置坐標(biāo)以及所述當(dāng)前起點(diǎn)對(duì)應(yīng)的平面坐標(biāo)計(jì)算所述目標(biāo)流線段與所述目標(biāo)三角形網(wǎng)格的交點(diǎn)的坐標(biāo),并將所述坐標(biāo)映射為相應(yīng)的三維坐標(biāo),將所述交點(diǎn)確定為當(dāng)前起點(diǎn),并重新跳轉(zhuǎn)至所述基于所述三角形網(wǎng)格對(duì)所述當(dāng)前起點(diǎn)的三維坐標(biāo)進(jìn)行平面坐標(biāo)映射的步驟,直至滿足所述預(yù)設(shè)積分終止條件。
25、第二方面,本技術(shù)公開(kāi)了一種飛行器表面流線生成裝置,包括:
26、網(wǎng)格劃分模塊,用于基于射線法確定飛行器表面流線的當(dāng)前起點(diǎn),將飛行器表面對(duì)應(yīng)的非結(jié)構(gòu)網(wǎng)格的各形狀的網(wǎng)格單元進(jìn)行劃分,以得到若干個(gè)三角形網(wǎng)格;
27、位置坐標(biāo)計(jì)算模塊,用于基于所述三角形網(wǎng)格對(duì)所述當(dāng)前起點(diǎn)的三維坐標(biāo)進(jìn)行平面坐標(biāo)映射,以得到所述當(dāng)前起點(diǎn)對(duì)應(yīng)的平面坐標(biāo),并根據(jù)所述當(dāng)前起點(diǎn)的平面坐標(biāo)基于二階龍格庫(kù)塔法計(jì)算新起點(diǎn)的位置坐標(biāo);
28、相對(duì)位置判斷模塊,用于通過(guò)所述平面坐標(biāo)和所述位置坐標(biāo)確定目標(biāo)流線段,對(duì)所述目標(biāo)流線段與所述目標(biāo)流線段對(duì)應(yīng)的目標(biāo)三角形網(wǎng)格的相對(duì)位置進(jìn)行判斷,根據(jù)相應(yīng)的判斷結(jié)果確定所述新起點(diǎn)與所述目標(biāo)三角形網(wǎng)格的相對(duì)位置關(guān)系;
29、流線生成模塊,用于根據(jù)所述相對(duì)位置關(guān)系以及所述新起點(diǎn)的位置坐標(biāo)進(jìn)行相應(yīng)的迭代積分操作,通過(guò)所述迭代積分操作確定全部積分點(diǎn),將全部所述積分點(diǎn)進(jìn)行順序連接,以得到最終的飛行器表面流線。
30、第三方面,本技術(shù)公開(kāi)了一種電子設(shè)備,包括:
31、存儲(chǔ)器,用于保存計(jì)算機(jī)程序;
32、處理器,用于執(zhí)行所述計(jì)算機(jī)程序以實(shí)現(xiàn)如前述的飛行器表面流線生成方法。
33、第四方面,本技術(shù)公開(kāi)了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),用于保存計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如前述的飛行器表面流線生成方法。
34、本技術(shù)在生成飛行器表面流線時(shí),首先基于射線法確定飛行器表面流線的當(dāng)前起點(diǎn),將飛行器表面對(duì)應(yīng)的非結(jié)構(gòu)網(wǎng)格的各形狀的網(wǎng)格單元進(jìn)行劃分,以得到若干個(gè)三角形網(wǎng)格;基于所述三角形網(wǎng)格對(duì)所述當(dāng)前起點(diǎn)的三維坐標(biāo)進(jìn)行平面坐標(biāo)映射,以得到所述當(dāng)前起點(diǎn)對(duì)應(yīng)的平面坐標(biāo),并根據(jù)所述當(dāng)前起點(diǎn)的平面坐標(biāo)基于二階龍格庫(kù)塔法計(jì)算新起點(diǎn)的位置坐標(biāo);然后通過(guò)所述平面坐標(biāo)和所述位置坐標(biāo)確定目標(biāo)流線段,對(duì)所述目標(biāo)流線段與所述目標(biāo)流線段對(duì)應(yīng)的目標(biāo)三角形網(wǎng)格的相對(duì)位置進(jìn)行判斷,根據(jù)相應(yīng)的判斷結(jié)果確定所述新起點(diǎn)與所述目標(biāo)三角形網(wǎng)格的相對(duì)位置關(guān)系;最終根據(jù)所述相對(duì)位置關(guān)系以及所述新起點(diǎn)的位置坐標(biāo)進(jìn)行相應(yīng)的迭代積分操作,通過(guò)所述迭代積分操作確定全部積分點(diǎn),將全部所述積分點(diǎn)進(jìn)行順序連接,以得到最終的飛行器表面流線。可見(jiàn),本技術(shù)通過(guò)將非結(jié)構(gòu)網(wǎng)格復(fù)雜多樣的網(wǎng)格樣式統(tǒng)一為三角形網(wǎng)格,使得本技術(shù)能夠處理各類非結(jié)構(gòu)網(wǎng)格數(shù)據(jù),也同時(shí)兼容結(jié)構(gòu)網(wǎng)格,具備更好的兼容性,能夠處理更多的數(shù)據(jù)格式。將空間點(diǎn)坐標(biāo)從三維網(wǎng)格的三維世界坐標(biāo)系映射至平面直角坐標(biāo)系中,在平面直角坐標(biāo)系中進(jìn)行流線積分,使生成的流線能夠始終保持依附在物體表面上。并且通過(guò)判斷流線積分點(diǎn)與三角形網(wǎng)格的相對(duì)位置,保證了流線跨網(wǎng)格積分的正確方向和準(zhǔn)確定位,進(jìn)而能夠在復(fù)雜的非結(jié)構(gòu)化混合網(wǎng)格表面準(zhǔn)確生成流線,實(shí)現(xiàn)矢量可視化,幫助用戶觀察和分析復(fù)雜構(gòu)型表面的流場(chǎng)運(yùn)動(dòng)情況。