亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種物體仿真建模過(guò)程研究

        2019-05-30 06:16:08杜麗美
        關(guān)鍵詞:三角網(wǎng)細(xì)分物體

        杜麗美

        (長(zhǎng)治學(xué)院 計(jì)算機(jī)系,山西 長(zhǎng)治 046011)

        0 引言

        在互聯(lián)網(wǎng)+時(shí)代,越來(lái)越多的人在生活中要使用網(wǎng)絡(luò),人類通過(guò)互聯(lián)網(wǎng)可以獲取到各種知識(shí)信息,同樣人們也想將日常生活中的一些重要信息傳到互聯(lián)網(wǎng)上,以便能夠更好地保存或者供他人分享.本文主要研究如何將現(xiàn)實(shí)生活中的物體經(jīng)過(guò)建模保存到計(jì)算機(jī)中,目的是使更多的人可以通過(guò)計(jì)算機(jī)屏幕看到與實(shí)物完全一樣的虛擬物體以及物體的各種屬性.

        1 物體表面數(shù)據(jù)點(diǎn)的獲取

        通過(guò)激光掃描技術(shù)、紅外線探測(cè)技術(shù)等可以很方便、準(zhǔn)確地獲取到物體表面的離散數(shù)據(jù)點(diǎn)坐標(biāo),由于是現(xiàn)實(shí)生活中的物體,所以獲取到的三維數(shù)據(jù)點(diǎn)均為三維坐標(biāo)[1-2],有三個(gè)分量X,Y和Z,考慮到物體體積大小不一,要想將不同物體均在同一窗口的中心位置處仿真出來(lái),還需要對(duì)每個(gè)三維坐標(biāo)進(jìn)行一定比例的縮放,具體可以采用如下公式進(jìn)行:

        (1)

        公式(1)中的Lx,Wy和Hz分別表示物體在X軸方向上的最大長(zhǎng)度、Y軸方向上的最大寬度和Z軸方向上的最大高度,接著找到物體的中心位置Cx,Cy和Cz如公式(2),最后按一定比例對(duì)仿真物體進(jìn)行縮放如公式(3),其中λ為縮放因子.

        (2)

        (3)

        2 三角網(wǎng)格劃分算法

        從物體表面提取的三維數(shù)據(jù)點(diǎn)經(jīng)過(guò)公式(1)(2)(3)的處理后,本節(jié)就要對(duì)處理后的數(shù)據(jù)點(diǎn)進(jìn)行網(wǎng)格的劃分了,網(wǎng)格劃分的好壞直接影響著物體的重建效果,又由于三角形有其自身的優(yōu)勢(shì),它可以很好地展示復(fù)雜物體的邊界,所以一般采用三角網(wǎng)格來(lái)重建物體,有關(guān)三角網(wǎng)格劃分的算法有很多,比如區(qū)域生長(zhǎng)算法、分治算法、細(xì)分法、網(wǎng)格模型簡(jiǎn)化算法、二次曲面擬合方法等,通過(guò)這些算法劃分出三角形必須滿足各邊上均沒(méi)有其他數(shù)據(jù)點(diǎn)存在以及三角形與三角形之間沒(méi)有邊相交現(xiàn)象.這里介紹幾種常用的三角網(wǎng)格劃分算法[3]:

        2.1 區(qū)域生長(zhǎng)算法

        區(qū)域生長(zhǎng)算法的關(guān)鍵是種子的選取,一般選用初始三角形作為種子,然后根據(jù)給定的生長(zhǎng)準(zhǔn)則進(jìn)行區(qū)域生長(zhǎng),將之后生長(zhǎng)出的三角形歸入種子一類中,接著繼續(xù)向外進(jìn)行生長(zhǎng),循環(huán)進(jìn)行直到滿足生長(zhǎng)結(jié)束條件時(shí)終止,具體步驟如下:

        2.1.1 初始種子三角形的選取

        從離散數(shù)據(jù)點(diǎn)中最中心的一個(gè)數(shù)據(jù)點(diǎn)V1開(kāi)始,然后找到距離點(diǎn)V1最近的兩個(gè)數(shù)據(jù)點(diǎn)V2和V3,之后將V1,V2,V3用邊連接起來(lái)構(gòu)成三角形作為初始種子T1,如圖1,并將頂點(diǎn)V1,V2,V3以及相應(yīng)的邊使用適當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)S和W存儲(chǔ)起來(lái),另外需要將待擴(kuò)展的邊V1V2、V2V3、V1V3存儲(chǔ)在數(shù)據(jù)結(jié)構(gòu)R中.

        2.1.2 擴(kuò)展新三角形

        初始種子T1找到后,以R中存儲(chǔ)的邊為出發(fā)點(diǎn),繼續(xù)向外生長(zhǎng)尋找新的三角形,以邊V1V3為例,先以V1V3為直徑畫圓,尋找落在圓內(nèi)的數(shù)據(jù)點(diǎn)集P(注意如果P中的點(diǎn)太少,可以擴(kuò)大范圍),通過(guò)計(jì)算找到點(diǎn)集P中與頂點(diǎn)V2在反方向的那些數(shù)據(jù)點(diǎn)集P′,并有P′?P中;接著尋找P′中的最佳點(diǎn)V4,使得∠V1V4V3最大,那么三角形T11便為擴(kuò)展出的新三角形如圖1所示,將此新三角形頂點(diǎn)和邊的信息存儲(chǔ)在數(shù)據(jù)結(jié)構(gòu)S和W中,并將R中已經(jīng)擴(kuò)展完成的邊V1V3去掉,并增加新邊V1V4和V3V4,繼續(xù)擴(kuò)展R中存儲(chǔ)的其他邊.

        2.1.3 結(jié)束條件

        檢查R中存儲(chǔ)的每一條邊,以這些邊為直徑作圓,查看是否有落在圓內(nèi)的點(diǎn),若有則繼續(xù)采用2.1.2的方法擴(kuò)充新的三角形,若沒(méi)有則以待擴(kuò)展邊的λ倍為直徑作圓擴(kuò)大范圍繼續(xù)尋找點(diǎn),直到λ達(dá)到給定閾值后終止此邊的擴(kuò)展.

        2.2 分治算法

        分治算法顧名思義即先將離散數(shù)據(jù)點(diǎn)劃分成塊,如圖2(a)所示;然后對(duì)每塊中的數(shù)據(jù)點(diǎn)進(jìn)行三角網(wǎng)的劃分,這里可以采用區(qū)域生長(zhǎng)法等方法進(jìn)行,如圖2(b)所示;最后將每部分三角網(wǎng)連接起來(lái)形成大的三角網(wǎng),如圖2(c)所示.

        圖1 區(qū)域生長(zhǎng)算法圖2 分治算法思想

        2.3 細(xì)分法

        細(xì)分法經(jīng)常用在對(duì)已經(jīng)劃分好的初始三角網(wǎng)進(jìn)行插值細(xì)分[4]過(guò)程中,通常情況下我們采用Delaunay三角化方法或者是區(qū)域生長(zhǎng)等算法劃分出的三角網(wǎng)效果不是最優(yōu)的,比如在劃分的過(guò)程中可能會(huì)丟失一些數(shù)據(jù)點(diǎn)而使得最終劃分出的三角網(wǎng)格模型失去了一些細(xì)節(jié)部分的展示,而且所劃分的三角網(wǎng)模型最優(yōu)的狀態(tài)為每個(gè)三角形都應(yīng)趨于等邊三角形,基于這些方面考慮,我們必須在初始三角網(wǎng)的基礎(chǔ)上增加一些新的點(diǎn)來(lái)細(xì)分原有三角網(wǎng),或者是采用相關(guān)算法改變?cè)腥蔷W(wǎng)的結(jié)構(gòu)使之盡量接近等邊三角形.最常用的細(xì)分算法有距離函數(shù)法、三角形的重心坐標(biāo)法、內(nèi)外接圓圓心法等等.

        對(duì)于初始三角網(wǎng),如果只是單純想插入新點(diǎn)來(lái)細(xì)化細(xì)節(jié)部分,則可以直接采用相應(yīng)的算法來(lái)增加新點(diǎn),從而以增加三角形的方式來(lái)增強(qiáng)模型細(xì)節(jié)部分的展示.通常情況下,初始三角網(wǎng)中的三角形面積越小說(shuō)明當(dāng)前位置處的細(xì)節(jié)會(huì)更多,因此可以設(shè)置面積閾值,當(dāng)每個(gè)三角形的面積小于給定的閾值時(shí),則在此三角形中增加新點(diǎn)來(lái)細(xì)分這個(gè)三角形.

        如果想要改變初始三角網(wǎng)中三角形的結(jié)構(gòu),通常使用的算法是借助內(nèi)外接圓心法,首先找到需要改變結(jié)構(gòu)的三角形,通常目標(biāo)為三角形的某個(gè)內(nèi)角小于給定閾值的那些三角形,接著通過(guò)指定三角形T的內(nèi)外接圓心(x1,y1)和(x2,y2)從而找到新的插入點(diǎn)P:(xp,yp),如公式(4)所示,其中R1和R2分別為三角形的內(nèi)切圓半徑和外接圓半徑,接著判斷三角形T周圍的三角形的外接圓是否包含新的插入點(diǎn)P,如果包含則將這些找到的三角形放到一起形成一個(gè)封閉的多邊形區(qū)域,刪除此多邊形區(qū)域里所有的邊,最后將點(diǎn)P與多邊形的所有頂點(diǎn)相連,通過(guò)這種辦法必可消除初始三角網(wǎng)中所有的鈍角三角形.

        (4)

        3 特殊效果設(shè)置

        本節(jié)主要實(shí)現(xiàn)對(duì)于最終形成的三角網(wǎng)進(jìn)行各種特殊效果的設(shè)置[5-9],從而還原物體全貌.首先要確定物體在窗口中的顯示效果,包括窗口的橫縱比例、視野的位置角度和朝向、遠(yuǎn)近裁剪面、物體的中心位置坐標(biāo)等,這些設(shè)置都可以借助函數(shù)(5)和(6)來(lái)實(shí)現(xiàn).

        voidgluPerspective(GLdoubleovy,GLdoubleaspect,GLdoublezNear,GLdoublebzFar)

        (5)

        voidgluLookAt(GLdoubleeyex,GLdoubleeyey,GLdoubleeyez,GLdoublecenterx,GLdoublecentery,GLdoublecenterz,GLdoubleupx,GLdoubleupy,GLdoubleupz)

        (6)

        對(duì)三角網(wǎng)進(jìn)行光照和材質(zhì)的設(shè)置,函數(shù)(7)為光照函數(shù),其中第一個(gè)參數(shù)為光源號(hào),第二個(gè)參數(shù)為光源的特性,第三個(gè)參數(shù)為第二個(gè)參數(shù)對(duì)應(yīng)的具體值.函數(shù)(8)為材質(zhì)函數(shù),其中第一個(gè)參數(shù)表示將紋理作用在物體的哪個(gè)面上,第二個(gè)參數(shù)指定一個(gè)具體材質(zhì),第三個(gè)參數(shù)為第二個(gè)參數(shù)對(duì)應(yīng)的具體值.

        voidglLight{if}{v}(GLenumlight,GLenumpname,TYPEparam).

        (7)

        voidglMaterial{if}{v}(GLenumface,GLenumpname,TYPEparam)

        (8)

        要想使得重建物體更加逼真,可以對(duì)模型進(jìn)行紋理貼圖,具體做法就是將指定圖片貼到模型表面上,以期達(dá)到接近實(shí)物的效果,紋理設(shè)置函數(shù)如(9)所示.此外還可以對(duì)周圍環(huán)境渲染一種霧化效果,使得物體的遠(yuǎn)處呈現(xiàn)模糊的狀態(tài)而近處呈現(xiàn)清晰的狀態(tài)從而達(dá)到一種立體效果,霧化函數(shù)如(10)所示.

        voidglTexImage2D(GLenumtarget,GLintlevel,GLintcomponents,GLsizeiwidth,GLsizeiheight,GLintborder,GLenumformat,GLenumtype,constGLvoid*pixels).

        (9)

        voidglFog{if}{v}(GLenumpname,TYPEparam).

        (10)

        4 仿真結(jié)果

        本文選取了圓球表面的三維數(shù)據(jù)點(diǎn),應(yīng)用上面所講的方法對(duì)圓球表面進(jìn)行了三角網(wǎng)格的劃分,圖3(a)是從圓球表面提取到的258個(gè)三維數(shù)據(jù)點(diǎn),圖3(b)為采用區(qū)域生長(zhǎng)算法對(duì)離散數(shù)據(jù)點(diǎn)進(jìn)行的三角網(wǎng)格劃分,從實(shí)驗(yàn)結(jié)果來(lái)看由于獲取的數(shù)據(jù)點(diǎn)分布是較均勻和對(duì)稱的,因此劃分出的初始三角網(wǎng)也是很標(biāo)準(zhǔn)的并且都接近等邊三角形,圖3(c)是對(duì)圖3(b)的三角網(wǎng)進(jìn)行光照和材質(zhì)的設(shè)置后的整體效果,從結(jié)果看到表面不是很光滑,為此對(duì)其進(jìn)行插值細(xì)分,圖3(d)為插值細(xì)分后的結(jié)果.本實(shí)驗(yàn)在win7系統(tǒng)下,VC6.0平臺(tái)上完成.

        圖3 圓球的重建過(guò)程

        5 結(jié)論

        本文介紹了三維物體仿真的一般技術(shù)手段,采用本文提出算法可以對(duì)物體表面進(jìn)行建模,在建模過(guò)程中可以根據(jù)需要采取不同的三角網(wǎng)格劃分算法或者是細(xì)分算法,實(shí)驗(yàn)結(jié)果表明本文提出的算法是可行的.但是對(duì)于較為復(fù)雜的物體,比如物體表面有多處空洞、凸起或者凹陷等情況,采用本文的算法就有些費(fèi)力,因此對(duì)于三角網(wǎng)格劃分算法還有待于繼續(xù)研究,以尋找到更先進(jìn)的方法對(duì)各種物體進(jìn)行仿真.此外對(duì)于現(xiàn)實(shí)生活中的物體表面一般匯集了多種顏色,我們?cè)诜抡娴倪^(guò)程中可以采用紋理函數(shù)的方式對(duì)模型表面不同部位進(jìn)行設(shè)置.以上所提出的問(wèn)題都是今后研究的重點(diǎn)方向.

        猜你喜歡
        三角網(wǎng)細(xì)分物體
        深耕環(huán)保細(xì)分領(lǐng)域,維爾利為環(huán)保注入新動(dòng)力
        深刻理解物體的平衡
        我們是怎樣看到物體的
        針對(duì)路面建模的Delaunay三角網(wǎng)格分治算法
        1~7月,我國(guó)貨車各細(xì)分市場(chǎng)均有增長(zhǎng)
        專用汽車(2016年9期)2016-03-01 04:17:02
        為什么同一物體在世界各地重量不一樣?
        整體低迷難掩細(xì)分市場(chǎng)亮點(diǎn)
        專用汽車(2015年2期)2015-03-01 04:05:42
        清華山維在地形圖等高線自動(dòng)生成中的應(yīng)用
        紙媒新希望 看新型報(bào)紙如何細(xì)分市場(chǎng)逆勢(shì)上揚(yáng)
        懸浮的雞蛋
        一区二区三区一片黄理论片 | 久久亚洲欧美国产精品| 少妇下面好紧好多水真爽| 日韩av一区二区观看| 无码精品国产一区二区三区免费 | 国产国产人免费人成免费视频| 精品国产一区av天美传媒| 亚洲 欧美 激情 小说 另类| 亚洲AV一二三四区四色婷婷 | 精品国精品自拍自在线| 91久久精品美女高潮喷白浆| 日韩精品视频在线观看无| 特黄 做受又硬又粗又大视频| 亚洲乱亚洲乱妇| 又白又嫩毛又多15p| 欧美整片第一页| 久久久久久AV无码成人| 大又黄又粗又爽少妇毛片| 国产三级精品三级在线专区| 亚洲av无码国产精品色软件| 无人高清电视剧在线观看| 永久免费无码av在线网站| 久久久久久AV无码成人| 国产三区二区一区久久| 久久精品中文字幕| 九九久久精品无码专区| 日韩毛片在线看| 国产成人精品男人的天堂网站| 蜜桃av中文字幕在线观看| 丰满少妇人妻无码专区| chinesefreexxxx国产麻豆 | 中文字幕av人妻一区二区| 国产三级精品av在线| 无套内内射视频网站| 国产乱妇乱子视频在播放| 国产在线一区二区三区av| 亚洲精品一区二区三区国产| 青青草精品视频在线播放| 国产精品成人aaaaa网站 | 成人精品天堂一区二区三区 | 最新欧美一级视频|