本申請(qǐng)涉及計(jì)算機(jī)圖形學(xué),特別是涉及一種三角網(wǎng)格模型平滑方法、裝置、計(jì)算機(jī)設(shè)備及介質(zhì)。
背景技術(shù):
1、在當(dāng)前的計(jì)算機(jī)圖形學(xué)和三維建模領(lǐng)域中,網(wǎng)格平滑是一項(xiàng)至關(guān)重要的技術(shù),其主要目的是提升網(wǎng)格模型的外觀質(zhì)量,優(yōu)化其幾何結(jié)構(gòu),并減少表面噪聲和不規(guī)則性。網(wǎng)格平滑技術(shù)廣泛應(yīng)用于表面重建、形狀平滑、動(dòng)畫(huà)變形等多個(gè)方面,是提升模型渲染效果和視覺(jué)效果的重要手段。
2、然而,盡管目前存在多種網(wǎng)格平滑算法,如拉普拉斯平滑、vtksmoothpolydatafilter類(lèi)中的算法等,這些算法在大多數(shù)場(chǎng)景下都能取得良好的平滑效果,但在特定場(chǎng)景下,尤其是在網(wǎng)格刷選平滑的情境中,卻面臨一定的挑戰(zhàn)。在網(wǎng)格刷選平滑的特定場(chǎng)景下,用戶往往希望對(duì)網(wǎng)格模型上的特定區(qū)域進(jìn)行平滑處理,同時(shí)保留其他區(qū)域的尖銳特征和細(xì)節(jié)。但是,常規(guī)的網(wǎng)格平滑算法往往難以精確控制平滑區(qū)域和程度,導(dǎo)致在網(wǎng)格刷選平滑的特定場(chǎng)景下,對(duì)于網(wǎng)格模型上尖銳處沒(méi)有較好的平滑效果。
3、因此,目前急需一種針對(duì)網(wǎng)格模型上尖銳處具有良好平滑效果的方案。
技術(shù)實(shí)現(xiàn)思路
1、基于此,有必要針對(duì)上述技術(shù)問(wèn)題,提供一種針對(duì)網(wǎng)格模型尖銳處平滑效果良好的三角網(wǎng)格模型平滑方法、裝置、計(jì)算機(jī)設(shè)備、計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和計(jì)算機(jī)程序產(chǎn)品。
2、第一方面,本申請(qǐng)?zhí)峁┝艘环N三角網(wǎng)格模型平滑方法。所述方法包括:
3、獲取三角網(wǎng)格模型中每個(gè)頂點(diǎn)對(duì)應(yīng)的面片對(duì)面積,面片對(duì)包括一階鄰域面片和對(duì)應(yīng)的二階鄰域面片;
4、根據(jù)所述面片對(duì)面積,計(jì)算每個(gè)頂點(diǎn)對(duì)應(yīng)的面片平均面積;
5、基于所述面片平均面積,確定每個(gè)頂點(diǎn)對(duì)應(yīng)的坐標(biāo)調(diào)整權(quán)重;
6、根據(jù)所述坐標(biāo)調(diào)整權(quán)重對(duì)每個(gè)頂點(diǎn)的坐標(biāo)進(jìn)行網(wǎng)格平滑迭代調(diào)整。
7、在其中一個(gè)實(shí)施例中,所述獲取三角網(wǎng)格模型中每個(gè)頂點(diǎn)對(duì)應(yīng)的面片對(duì)面積包括:
8、獲取三角網(wǎng)格模型中每個(gè)頂點(diǎn)對(duì)應(yīng)的一階鄰域面片和二階鄰域面片;
9、組合相同頂點(diǎn)對(duì)應(yīng)的一階鄰域面片和二階鄰域面片,得到頂點(diǎn)對(duì)應(yīng)的面片對(duì);
10、計(jì)算每個(gè)頂點(diǎn)對(duì)應(yīng)的面片對(duì)的面積。
11、在其中一個(gè)實(shí)施例中,所述根據(jù)所述坐標(biāo)調(diào)整權(quán)重對(duì)每個(gè)頂點(diǎn)的坐標(biāo)進(jìn)行網(wǎng)格平滑迭代調(diào)整包括:
12、獲取當(dāng)前頂點(diǎn)的鄰接點(diǎn)坐標(biāo),所述當(dāng)前頂點(diǎn)為任意一個(gè)頂點(diǎn);
13、根據(jù)所述鄰接點(diǎn)坐標(biāo)以及所述當(dāng)前頂點(diǎn)對(duì)應(yīng)的所述坐標(biāo)調(diào)整權(quán)重,調(diào)整所述當(dāng)前頂點(diǎn)的坐標(biāo);
14、返回所述獲取三角網(wǎng)格模型中每個(gè)頂點(diǎn)對(duì)應(yīng)的面片對(duì)面積的步驟,直至達(dá)到預(yù)設(shè)迭代停止條件。
15、在其中一個(gè)實(shí)施例中,所述根據(jù)所述鄰接點(diǎn)坐標(biāo)以及所述當(dāng)前頂點(diǎn)對(duì)應(yīng)的所述坐標(biāo)調(diào)整權(quán)重,調(diào)整所述當(dāng)前頂點(diǎn)的坐標(biāo)包括:
16、基于所述坐標(biāo)調(diào)整權(quán)重對(duì)不同鄰接點(diǎn)坐標(biāo)進(jìn)行加權(quán)求和,得到加權(quán)求和結(jié)果;
17、計(jì)算所述當(dāng)前頂點(diǎn)對(duì)應(yīng)的所有面片對(duì)面積之和,得到面片對(duì)面積總和;
18、計(jì)算所述加權(quán)求和結(jié)果與所述面片對(duì)面積總和的比值,得到調(diào)整后的所述當(dāng)前頂點(diǎn)的坐標(biāo)。
19、在其中一個(gè)實(shí)施例中,所述基于所述面片平均面積,確定每個(gè)頂點(diǎn)對(duì)應(yīng)的坐標(biāo)調(diào)整權(quán)重包括:
20、計(jì)算所述面片平均面積的m次方,得到每個(gè)頂點(diǎn)對(duì)應(yīng)的坐標(biāo)調(diào)整權(quán)重,所述m為正整數(shù)。
21、在其中一個(gè)實(shí)施例中,所述m為不小于3的正整數(shù)。
22、第二方面,本申請(qǐng)還提供了一種三角網(wǎng)格模型平滑裝置。所述裝置包括:
23、面積獲取模塊,用于獲取三角網(wǎng)格模型中每個(gè)頂點(diǎn)對(duì)應(yīng)的面片對(duì)面積,面片對(duì)包括一階鄰域面片和對(duì)應(yīng)的二階鄰域面片;
24、面積平均計(jì)算模塊,用于根據(jù)所述面片對(duì)面積,計(jì)算每個(gè)頂點(diǎn)對(duì)應(yīng)的面片平均面積;
25、權(quán)重確定模塊,用于基于所述面片平均面積,確定每個(gè)頂點(diǎn)對(duì)應(yīng)的坐標(biāo)調(diào)整權(quán)重;
26、迭代調(diào)整模塊,用于根據(jù)所述坐標(biāo)調(diào)整權(quán)重對(duì)每個(gè)頂點(diǎn)的坐標(biāo)進(jìn)行網(wǎng)格平滑迭代調(diào)整。
27、第三方面,本申請(qǐng)還提供了一種計(jì)算機(jī)設(shè)備。所述計(jì)算機(jī)設(shè)備包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)以下步驟:
28、獲取三角網(wǎng)格模型中每個(gè)頂點(diǎn)對(duì)應(yīng)的面片對(duì)面積,面片對(duì)包括一階鄰域面片和對(duì)應(yīng)的二階鄰域面片;
29、根據(jù)所述面片對(duì)面積,計(jì)算每個(gè)頂點(diǎn)對(duì)應(yīng)的面片平均面積;
30、基于所述面片平均面積,確定每個(gè)頂點(diǎn)對(duì)應(yīng)的坐標(biāo)調(diào)整權(quán)重;
31、根據(jù)所述坐標(biāo)調(diào)整權(quán)重對(duì)每個(gè)頂點(diǎn)的坐標(biāo)進(jìn)行網(wǎng)格平滑迭代調(diào)整。
32、第四方面,本申請(qǐng)還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)以下步驟:
33、獲取三角網(wǎng)格模型中每個(gè)頂點(diǎn)對(duì)應(yīng)的面片對(duì)面積,面片對(duì)包括一階鄰域面片和對(duì)應(yīng)的二階鄰域面片;
34、根據(jù)所述面片對(duì)面積,計(jì)算每個(gè)頂點(diǎn)對(duì)應(yīng)的面片平均面積;
35、基于所述面片平均面積,確定每個(gè)頂點(diǎn)對(duì)應(yīng)的坐標(biāo)調(diào)整權(quán)重;
36、根據(jù)所述坐標(biāo)調(diào)整權(quán)重對(duì)每個(gè)頂點(diǎn)的坐標(biāo)進(jìn)行網(wǎng)格平滑迭代調(diào)整。
37、第五方面,本申請(qǐng)還提供了一種計(jì)算機(jī)程序產(chǎn)品。所述計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)以下步驟:
38、獲取三角網(wǎng)格模型中每個(gè)頂點(diǎn)對(duì)應(yīng)的面片對(duì)面積,面片對(duì)包括一階鄰域面片和對(duì)應(yīng)的二階鄰域面片;
39、根據(jù)所述面片對(duì)面積,計(jì)算每個(gè)頂點(diǎn)對(duì)應(yīng)的面片平均面積;
40、基于所述面片平均面積,確定每個(gè)頂點(diǎn)對(duì)應(yīng)的坐標(biāo)調(diào)整權(quán)重;
41、根據(jù)所述坐標(biāo)調(diào)整權(quán)重對(duì)每個(gè)頂點(diǎn)的坐標(biāo)進(jìn)行網(wǎng)格平滑迭代調(diào)整。
42、上述三角網(wǎng)格模型平滑方法、裝置、計(jì)算機(jī)設(shè)備、存儲(chǔ)介質(zhì)和計(jì)算機(jī)程序產(chǎn)品,獲取三角網(wǎng)格模型中每個(gè)頂點(diǎn)對(duì)應(yīng)的面片對(duì)面積,面片對(duì)包括一階鄰域面片和對(duì)應(yīng)的二階鄰域面片,根據(jù)面片對(duì)面積,計(jì)算每個(gè)頂點(diǎn)對(duì)應(yīng)的面片平均面積;基于面片平均面積,確定每個(gè)頂點(diǎn)對(duì)應(yīng)的坐標(biāo)調(diào)整權(quán)重;根據(jù)坐標(biāo)調(diào)整權(quán)重對(duì)每個(gè)頂點(diǎn)的坐標(biāo)進(jìn)行網(wǎng)格平滑迭代調(diào)整。整個(gè)過(guò)程中,采用二鄰域的面積平滑,以拓展面積平滑,能夠充分利用更大區(qū)域的面片信息,實(shí)現(xiàn)密度更均勻的網(wǎng)格平滑,因此可以針對(duì)網(wǎng)格模型尖銳處實(shí)現(xiàn)良好的平滑效果。
1.一種三角網(wǎng)格模型平滑方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取三角網(wǎng)格模型中每個(gè)頂點(diǎn)對(duì)應(yīng)的面片對(duì)面積包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述坐標(biāo)調(diào)整權(quán)重對(duì)每個(gè)頂點(diǎn)的坐標(biāo)進(jìn)行網(wǎng)格平滑迭代調(diào)整包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述鄰接點(diǎn)坐標(biāo)以及所述當(dāng)前頂點(diǎn)對(duì)應(yīng)的所述坐標(biāo)調(diào)整權(quán)重,調(diào)整所述當(dāng)前頂點(diǎn)的坐標(biāo)包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于所述面片平均面積,確定每個(gè)頂點(diǎn)對(duì)應(yīng)的坐標(biāo)調(diào)整權(quán)重包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述m為不小于3的正整數(shù)。
7.一種三角網(wǎng)格模型平滑裝置,其特征在于,所述裝置包括:
8.一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)權(quán)利要求1至權(quán)利要求6中任一項(xiàng)所述的方法的步驟。
9.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1至權(quán)利要求6中任一項(xiàng)所述的方法的步驟。
10.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,其特征在于,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1至權(quán)利要求6中任一項(xiàng)所述的方法的步驟。