999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向Web的機械產品三維模型簡化算法研究

2021-12-10 09:07:12齊洪方
計算機仿真 2021年11期
關鍵詞:特征模型

齊洪方,汪 耀

(1.武漢華夏理工學院智能制造學院,湖北 武漢 430223;2.武漢理工大學機電工程學院,湖北 武漢 430070)

1 引言

隨著信息技術的不斷發展,分布式制造的時代已經到來,面向Web的機械產品三維CAD模型在線瀏覽需求越來越大。采用三維模型的在線瀏覽方式,用戶無需安裝大型三維軟件,在瀏覽器中即可查看三維產品模型。

基于WebGL技術的機械產品三維模型Web顯示,不僅可以實現3D模型的顯示渲染,而且相對于其它Web3D技術而言,具有無需下載安裝任何插件或函數庫、兼容性好、支持跨平臺顯示和渲染效果逼真且速度快的特點。由于WebGL技術基于OpenGL ES 2.0,通過多個三角面片來描述一個三維模型實體[1],隨著三維實體模型的復雜程度不斷增加,用來描述三維實體模型的面片數據也會隨之增加,因此,為保證Web環境下三維模型數據傳遞和瀏覽器顯示的流暢性,需要對三維模型數據進行簡化,以保證瀏覽器能直接、快速的讀取并顯示。

本文選擇OBJ格式作為通用三維模型格式,針對不同軟件導出的OBJ文件內部數據格式不統一的問題,進行三維模型數據的預處理,在三維模型數據預處理的基礎上,提出基于半邊折疊的三維模型簡化算法,該算法利用定點領域三角形的平均面積、定點領域三角形的法向量變化和折疊邊的邊長計算折疊代價值,并按值的大小進行排序,將折疊代價值最小的邊折疊成一個點,并不斷重復計算折疊代價值、排序和折疊簡化這一過程,直到達到設定的簡化要求。

2 三維模型格式預處理

OBJ是一種被普遍公認的模型數據交換格式[2]。OBJ文件通過保存面片信息的形式保存著模型所有幾何信息,文件中每一行都通過一個關鍵字(Keyword)開頭,用來區別這一行的數據類型,例如:某一行數據開頭是字母v,則表示這一行數據為頂點坐標。OBJ模型文件中常用的關鍵字及含義見表1。

表1 OBJ模型常用關鍵字

OBJ文件數據一般都由頂點坐標數據、頂點法向量數據、面片索引數據和紋理坐標數據四部分組成。

但是不同三維CAD軟件導出的OBJ文件在數據內容方面存在差異。例如:SolidWorks得到的OBJ文件包含頂點坐標、頂點法向量和頂點索引,但不包含三維模型Web顯示所需的紋理坐標數據;Pro/E得到的OBJ文件包含四部分數據,但其紋理坐標數據以三維坐標形式存在,不符合Web環境下對模型進行紋理貼圖的二維坐標數據要求;還有部分三維CAD軟件以模型中的三角面為基本單元,造成頂點坐標數據、頂點法向量數據和面片索引數據重復出現的現象。綜合以上,不同三維CAD軟件導出的OBJ文件的差異主要集中在:是否有紋理坐標數據、紋理坐標數據是否為二位坐標數據和點坐標數據、頂點法向量數據和面片索引數據是否重復三個問題。本文借鑒文獻[2]的方法,通過紋理坐標處理和數據化零為整處理,將不同三維CAD軟件導出的OBJ模型轉化為OBJ模型的標準格式,如表2中實例所示。

表2 OBJ標準格式實例

3 半邊折疊算法原理

在保證原始模型幾何形狀不發生改變的前提下,采用適當的算法減少網格模型的面片數或頂點數,可以提高計算機圖形繪制速度。常用的網格模型簡化算法有頂點刪除簡化算法[3],邊折疊簡化算法[4-5],采樣簡化算法[6],頂點聚類簡化算法[7-9]和多邊形合并簡化算法[10]等。這些算法各有各的特點,在不同的網格簡化情形得到相應應用,其中Hoppe提出的基于邊折疊思想進行模型簡化的算法簡單高效是目前最常用的模型簡化方法之一。邊折疊算法示意圖如圖1所示,在對v1v2進行折疊時,利用能量優化確定新頂點v’的位置,由于邊折疊算法在每一次折疊過程中將產生一個新的頂點同時刪除原有的兩個頂點,這樣在新頂點產生的時候就需要進行頂點索引更新,這一過程將增加一定的計算量和存儲量。

圖1 邊折疊算法示意圖

半邊折疊算法示意圖如圖2所示,在進行邊uv的折疊時,u點將被刪除,同時所有與頂點u相關的頂點將與頂點v相連,即v點起到了代替u點的作用。與邊折疊算法不同,半邊折疊算法在每一次執行半邊折疊的過程中不會產生一個新的頂點,僅刪除了一個原有的頂點,避免了計算新頂點位置帶來的運輸量和存儲量。本文選擇半邊折疊算法作為三維模型簡化算法,可以有效提升模型簡化效率。

圖2 半邊折疊算法示意圖

4 三維模型數據簡化

通常邊折疊算法有能量函數法和二次誤差測量簡化算法,Hope[4]提出的基于能量優化的方法來確定折疊順序和新頂點位置的網格模型簡化算法,通過構建計算網格簡化誤差的數學模型,來不斷尋找使能量方程值最小的簡化點。該算法能夠實現質量很高的模型簡化,但其缺點在于優化過程計算量大,自動化程度不高,耗費了大量的計算時間,不利于Web環境下三維模型的顯示;而Garland提出的二次誤差測量簡化算法[5]通過計算頂點到相關平面距離的平方和作為誤差測度,并使用二次誤差測度作為邊折疊代價,相對Hope提出的算法而言計算較快,也能生成較好質量的模型,但相對Web環境其同樣存在著計算量較大的問題。綜合上述分析,本文在保證模型顯示精度的前提下,為了盡可能的減小計算量,在計算折疊代價時主要考慮了頂點領域三角形平均面積、頂點領域三角形的法向量變化和折疊邊的邊長三個方面因素。

4.1 頂點領域三角形的平均面積

為了保證模型顯示的精度,在模型簡化過程中應盡可能避開模型特征較為顯著的區域。在網格模型的表達中,若頂點領域三角形的平均面積越小,則說明該區域的三角網格密度越集中,表示該區域的模型特征越顯著;若頂點領域三角形的平局面積越大,則說明該區域的三角網格密度越稀疏,表示該區域的模型特征越不顯著。因此,頂點的領域三角形的平均面積在一定程度上反映著該頂點處的模型特征的顯著程度,如圖3所示。

圖3 領域三角形

圖3中,圖(a)和圖(b)兩個模型在頂點v1處的領域三角形總面積一樣,但三角形數量不同,其中圖(b)的網格更加密集。當對邊(v1,v2)進行折疊操作時,與v1相連的所有頂點都將連接v2上。顯然圖(b)中的網格在折疊后對模型特征的影響會更大。所以圖(b)中的邊(v1,v2)比圖(a)中邊(v1,v2)具有更高的重要度,通過點的領域三角形的平均面積表示,如式(1)所示。

(1)

其中,num表示點vi的領域三角形中三角形的總個數,tj表示點vi領域三角形中的三角形,ARtj表示三角形tj的面積。

4.2 頂點領域三角形的法向量變化

人的視覺對三角面法向量方向的變化比較敏感[11]。邊折疊后頂點領域三角形的法向量變化越小,模型的視覺變化影響越小;頂點領域三角形的法向量變化越大,說明模型特征損失較大。如圖4所示的邊折疊后頂點領域三角形的法向量變化。

圖4 邊(U,V)折疊后的領域三角形的法向量變化

(2)

4.3 折疊邊的邊長

在網格模型簡化過程中,考慮頂點領域三角形的平均面積大小和法向量變化大小是為了在網格簡化過程中盡量避免模型特征顯著的區域被大量簡化,從而丟失了模型的原始特征。但如果太過注重模型特征區域的保留,而大量刪減非特征區域,就會造成簡化后的網格模型出現模型整體特征的丟失。為避免這種極端化模型簡化的出現,本文引入折疊邊的邊長這個影響因子。折疊邊的邊長可通過式(3)來求。

d(u,v)=u-v

(3)

其中,u-v為點u,v之間的歐式距離。

當網格中邊的長度越大,折疊此邊將引起更大的網格整體變動。因此,在模型簡化操作過程中,應優先折疊邊長較小的邊。

4.4 折疊代價計算

對于網格中的任一條折疊邊,折疊代價由頂點領域三角形的平均面積、頂點領域三角形的法向量變化和折疊邊的邊長三個部分組成,邊折疊代價計算式如式(4)所示。

(4)

5 基于折疊代價的半邊折疊算法設計

本文采用的半邊折疊算法,首先,獲取模型網格數據并構建網絡拓撲結構。然后,根據折疊代價計算式(4)計算網格中每個頂點的對應邊的折疊代價值,并按值的大小進行排序;取出代價值最小的邊折疊成一個點,同時將原來與刪除點關聯的頂點相連到新頂點上刪除舊的邊;最后,更新折疊變化后受影響邊的折疊代價值,并再次排序。重復這一過程,當網格模型簡化到沒有符合設定條件的半邊時,就得到了簡化后的網格。其算法流程如圖6所示,具體算法步驟如下。

網格模型簡化過程中的閾值設定,因考慮到機械產品模型對顯示精度的要求,按照領域三角形法向量變化值為1-cos(10°)作為標準,即保證半邊折疊后,三維模型的形狀特征不會發生變化。

圖5 半邊折疊算法流程

6 算法實驗

6.1 實驗環境

在PC機(Intel i7、8G內存、Window10)上運行基于半邊折疊算法的三維模型簡化算法。簡化對象為bunny.obj的三維模型文件。

6.2 實驗及結果分析

從圖6可以看出,兩種算法簡化率達到85%之后,兔子的眼睛、耳朵等特征就開始明顯失真,當達到95%時,基本就不清晰了,但是本文算法與QEM算法相比較,特征部位的三角網格明顯較為密集。由此可見,本文算法能較好的反映原模型的特征,保證模型顯示的質量。

圖6 模型簡化對比

7 結論

本文主要研究Web環境下機械產品三維模型顯示的簡化算法。在OBJ文件數據規范化處理的基礎上,利用半邊折疊算法進一步優化,以頂點領域三角形平均面積、頂點領域三角形的法向量變化以及折疊邊的邊長,計算折疊代價,通過對折疊代價排序與預先設定闕值進行簡化處理,減少模型的三角面片數量,較好的提升了機械產品三維模型在線瀏覽的流暢性,保證了機械產品三維模型的視覺效果,后續研究重點是對算法的進一步改進和完善。

猜你喜歡
特征模型
一半模型
抓住特征巧觀察
重要模型『一線三等角』
新型冠狀病毒及其流行病學特征認識
重尾非線性自回歸模型自加權M-估計的漸近分布
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
主站蜘蛛池模板: 亚洲视频无码| 国产自产视频一区二区三区| 为你提供最新久久精品久久综合| 国产自无码视频在线观看| 欧美性精品| 国产精品三级av及在线观看| 在线看片免费人成视久网下载| 2048国产精品原创综合在线| 国产丝袜第一页| 在线观看网站国产| 天天摸天天操免费播放小视频| 日韩欧美在线观看| 一区二区三区四区精品视频| 国产欧美视频在线| 午夜激情福利视频| 男人天堂亚洲天堂| 国产成人三级| 国产成人麻豆精品| 免费看av在线网站网址| 国产麻豆另类AV| 久久久久久高潮白浆| 日韩无码视频专区| 久精品色妇丰满人妻| 久久综合色播五月男人的天堂| 国产欧美成人不卡视频| 亚洲香蕉在线| 亚洲欧美成人网| 99热这里只有精品在线观看| 欧美日韩免费观看| 99久久99视频| 91视频区| 91亚洲精选| 无码精品一区二区久久久| 国产aaaaa一级毛片| 久久免费视频6| 欧美在线导航| 国产精品深爱在线| 欧美日韩高清在线| 一边摸一边做爽的视频17国产| 欧美日韩精品一区二区在线线 | 久久久久无码精品国产免费| 强乱中文字幕在线播放不卡| а∨天堂一区中文字幕| 91极品美女高潮叫床在线观看| 91在线激情在线观看| 久草视频一区| 久久精品国产亚洲AV忘忧草18| 91在线免费公开视频| 国产激情无码一区二区APP| 国产精品无码AⅤ在线观看播放| 久久99热66这里只有精品一| 国产无码性爱一区二区三区| 国产一区二区在线视频观看| 九九久久99精品| 91成人在线观看视频 | 成年网址网站在线观看| 久久黄色视频影| 91在线高清视频| 色妞永久免费视频| 精品在线免费播放| 91在线播放国产| 国产免费久久精品44| 亚洲成人网在线播放| 成人va亚洲va欧美天堂| 国产成人AV男人的天堂| 狠狠v日韩v欧美v| 色婷婷丁香| 国外欧美一区另类中文字幕| 真人免费一级毛片一区二区| 色一情一乱一伦一区二区三区小说| 波多野结衣在线一区二区| 欧美激情二区三区| 亚洲区一区| 东京热高清无码精品| 国产亚洲精品自在线| a毛片免费观看| 99在线免费播放| 欧美日韩成人| 日韩av手机在线| 在线观看精品自拍视频| 天天爽免费视频| 91亚瑟视频|