虛擬穿衣中織物模型的建立和碰撞檢測的處理--_第1頁
虛擬穿衣中織物模型的建立和碰撞檢測的處理--_第2頁
虛擬穿衣中織物模型的建立和碰撞檢測的處理--_第3頁
虛擬穿衣中織物模型的建立和碰撞檢測的處理--_第4頁
虛擬穿衣中織物模型的建立和碰撞檢測的處理--_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、虛擬穿衣中織物模型的建立和碰撞檢測的處理 -                         虛擬穿衣中織物模型的建立和碰撞檢測的處理  發(fā)布時間: 2003-3-17  作者:高成英 劉寧 羅笑南     摘要:結(jié)合實現(xiàn)靜態(tài)虛擬穿衣中的實

2、際問題,詳細(xì)地介紹了基于彈簧質(zhì)點模型的織物變形模型和基于層次包圍盒的碰撞檢測算法。借助層次空間分解法的思想,將縫合衣片的相對位置同人模自身的結(jié)構(gòu)信息相結(jié)合,靈活地構(gòu)造人模樹,減少了不相交元素的碰撞檢測次數(shù),從而提高了算法的效率。最后還給出了實現(xiàn)整個虛擬穿衣過程的具體步驟。關(guān)鍵詞:織物變形仿真;彈簧質(zhì)點模型;碰撞檢測;空間分解法;層次包圍盒法;顯式歐拉方法   1前言隨著計算機(jī)技術(shù)和人類社會經(jīng)濟(jì)的發(fā)展,對于紡織服裝業(yè)/的應(yīng)用要求也越來越高,二維服裝系統(tǒng)已經(jīng)不能滿足要求,人們迫切希望借助計算機(jī)完成一些更加實用的三維功能。若能直接將二維服裝系統(tǒng)設(shè)計的衣片,在計算機(jī)上真實

3、地模擬出穿在人體上的效果,便可以幫助設(shè)計師直接在計算機(jī)上進(jìn)行著裝效果檢查、服裝裁剪片縫合檢查等工作。這樣就可大大提高服裝從設(shè)計階段到生產(chǎn)階段間的效率,具有非常重要的實用價值。要通過計算機(jī)實現(xiàn)這一功能,有兩個關(guān)鍵的問題必須解決:1)建立合適的織物變形模型;2)選擇高效而實用的碰撞檢測算法。   研究織物變形仿真的方法通常分為三類:幾何的、物理的和混合的(幾何和物理方法的混合)。純幾何的造型方法很難反映織物的物理特性,因此基于物理的方法研究,近年來已占據(jù)了主導(dǎo)地位。在織物變形物理仿真模型中1,按比擬織物結(jié)構(gòu)的方式又可分為兩大類:1)離散質(zhì)點型模型:比較典型的有等建立的

4、質(zhì)點網(wǎng)格模型、等建立的粒子模型和等建立的彈簧質(zhì)點模型;2)連續(xù)介質(zhì)型模型:比較典型的有等建立的彈性變型模型、等建立的空氣動力模型、建立的波傳播模型、等建立的有限元模型等。   以上的織物變形物理仿真模型,由于其建模的原理和方法不盡相同,因此,它們適用于不同的應(yīng)用場合有其各自的優(yōu)缺點。   我們結(jié)合設(shè)計虛擬穿衣功能的實際,認(rèn)為所建立的彈簧質(zhì)點模型,模型簡單,易于計算機(jī)實現(xiàn),在模擬衣片復(fù)雜的動態(tài)變形過程時,能夠取得比較真實的模擬效果和較快的模擬速度。   在模擬三維服裝穿在人體上的真實效果時,會遇到大量的碰撞

5、現(xiàn)象:衣片同人模之間以及衣片自身間的一種相互滲透和穿越。只有很好地解決了滲透和穿越的問題,才能逼真地完成虛擬穿衣的模擬過程。因此,碰撞檢測是整個模擬過程的關(guān)鍵。碰撞檢測非常耗時,最簡單的碰撞檢測算法是對兩個碰撞體中的所有基本幾何元素(通常為三角形)進(jìn)行兩兩相交測試。   現(xiàn)有的碰撞檢測算法大致可劃分為兩大類:空間分解法(),和層次包圍盒法()。前者是將整個虛擬空間劃分成相等體積的小單元格,只對占據(jù)同一單元格或相鄰單元格的幾何對象進(jìn)行相交測試。比較典型的方法有八叉樹和樹。層次包圍盒法的核心思想是利用體積略大而幾何特性簡單的包圍盒將復(fù)雜幾何對象包裹起來,在進(jìn)行碰撞檢測

6、時,首先進(jìn)行包圍盒之間相交測試,只有包圍盒相交時,才對其所包裹的對象,做進(jìn)一步求交計算。在構(gòu)造碰撞體的包圍盒時,若引入樹狀層次結(jié)構(gòu),可快速剔除不發(fā)生碰撞的元素,減少大量不必要的相交測試,從而提高碰撞檢測效率。比較典型的包圍盒類型有沿坐標(biāo)軸的包圍盒(),包圍球(),方向包圍盒()等。   在本文中,我們充分利用了層次包圍盒法的優(yōu)勢,同時在構(gòu)建靜態(tài)人模的樹時,又借助層次空間分解法中子空間在空間排列上的有序性和相關(guān)性的思想,將縫合衣片的相對位置同人模自身的結(jié)構(gòu)信息相結(jié)合,靈活地構(gòu)造人模樹,這樣減少了需相交測試的元素,從而提高了碰撞檢測的效率。  &#

7、160;2織物的變形模型   2.1織物變形模型的描述   我們建立的織物變形模型是以的彈簧質(zhì)點模型作為基礎(chǔ),將織物設(shè)想為一個個質(zhì)點集合,質(zhì)點間相互關(guān)系歸結(jié)為質(zhì)點間的彈簧作用。其中彈簧分為三類:結(jié)構(gòu)彈簧、剪切彈簧和彎曲彈簧,具體構(gòu)成如圖1所示。圖1織物模型離散成規(guī)則網(wǎng)格   1)結(jié)構(gòu)彈簧:在質(zhì)點和+1,間,以及和,+1間的彈簧為結(jié)構(gòu)彈簧,結(jié)構(gòu)彈簧是為了保持質(zhì)點間初始狀態(tài)時的距離。   2)剪切彈簧:在質(zhì)點和+1,+1間,以及+1,和,+1間的彈簧為剪切彈簧。剪切彈簧是為了防止

8、織物在自身平面過渡和不真實的變形,而給織物的一個剪切剛性。3)彎曲彈簧:在質(zhì)點和+2,間,以及和,+2間的彈簧為彎曲彈簧,彎曲彈簧是為了防止織物彎曲。2.2質(zhì)點的位移在縫合衣片過程中,衣片上所有質(zhì)點因受力而產(chǎn)生一定的位移,質(zhì)點位移我們選用運動定律來描述:外力(,)+內(nèi)力(,)=(,)其中,是質(zhì)點(,)的質(zhì)量。在本文中,我們假定布料是各向均質(zhì)的,因此,質(zhì)點的質(zhì)量可由衣片總質(zhì)量除以質(zhì)點總數(shù)得到,(,)是該點加速度,外力(,)是該點所受的外力,內(nèi)力(,)是該點所受的內(nèi)力。為了簡化模型,在我們?nèi)S服裝系統(tǒng)中,只考慮兩種外力:縫合力和重力??梢杂靡韵鹿絹肀硎?外力(,)=縫合力(,)+重力(,)

9、60;  在衣片縫合過程中,為了將不同的衣片縫在一起,我們在衣片對應(yīng)縫合邊上加載縫合力。在模型中,縫合力被定義成對應(yīng)縫合點之間距離的線性函數(shù)。對兩個縫合點,和,間的縫合力,可以按如下公式計算:縫合力(,)= (,) ,-,式中為縫合力系數(shù),該系數(shù)與織物的縫合性能有關(guān),通常,較難變形的布料采用較大的縫合力系數(shù);(,)表示兩縫合點,和,間的距離;,-,表示從,點指向,點的單位方向矢量。為了獲得較真實的仿真效果,我們在變形模型中考慮了衣片所受的重力。質(zhì)點所受的重力可按如下公式計算:重力(,)=, 式中,為質(zhì)點,的質(zhì)量。在彈簧質(zhì)點模型中,唯一考慮的彈性

10、內(nèi)力是彈簧的彈性變形力,由于采用的是理想的彈簧質(zhì)點系統(tǒng),可以利用胡克()定律來計算彈簧的彈性變形力:內(nèi)力(,)=-(,)(,-,0,)其中,是彈簧的彈性變形系數(shù),是(,)鄰點的集合,0表示質(zhì)點(,)與質(zhì)點(,)之間的原始距離,彈簧的彈性變形系數(shù)可以? 讕菟彌锏牟牧閑閱懿問呷范?/P>    2.3織物變形模型的求解我們選擇顯式歐拉方法來求解織物變形模型。求解公式如下:,(+)=1,(),(+)=,()+,(+),(+)=,()+,(+)其中,是質(zhì)點(,)所受所有力的合力,()是質(zhì)點(,)的質(zhì)量,()、,()和,()分別是質(zhì)點(,)在時間的

11、加速度,速度和位置。是系統(tǒng)選定的時間步長。   3基于樹層次包圍盒的碰撞檢測   3.1建立樹一個碰撞體的被定義為包含該碰撞體,且邊平行于坐標(biāo)軸的最小六面體。因此,描述一個,僅需六個標(biāo)量。在構(gòu)造包圍盒時,需沿著碰撞體局部坐標(biāo)系統(tǒng)的軸向(,)來構(gòu)造,所以所有的包圍盒具有一致的方向。   樹是基于的二叉樹,按照由上至下的遞歸細(xì)分方式構(gòu)造生成的。在每一次遞歸過程中,要求取最小的,需沿所選擇的剖分面將碰撞體分為正負(fù)兩半,并將所對應(yīng)的原始幾何元素(如三角面)分別歸屬正、負(fù)兩邊,整個遞歸過程類似于空間二叉剖分,只是每

12、次剖分的對象是,而不是空間區(qū)域。遞歸細(xì)分一直要進(jìn)行到每一個葉子節(jié)點只包容一個原始幾何元素為止,所以具有個原始幾何元素的樹具有-1個非葉子節(jié)點和個葉子節(jié)點。對于剖分面的選擇,在本文中,選擇垂直的最長軸,且平分該軸的平面。經(jīng)試驗證明,這種方式,在大多數(shù)情況下的算法復(fù)雜度僅為(),較其它的剖分面選擇方法有了極大的提高。至于原始幾何元素的歸屬則應(yīng)依據(jù)幾何元素的重心在最長軸上的投影坐標(biāo)。若投影坐標(biāo)大于剖分面的坐標(biāo)(),則在剖分面的正向,否則在負(fù)向,如圖2所示。圖2三角面歸屬負(fù)區(qū)域,因為其質(zhì)心投影坐標(biāo)小于剖分面的基準(zhǔn)坐標(biāo)   3.2的相交判斷間的相交測試比較簡單,兩個相交當(dāng)且

13、僅當(dāng)它們在三個坐標(biāo)軸上的投影區(qū)間均相交。通過投影,我們即將三維求交問題轉(zhuǎn)化為一維求交問題。而對一維求交問題,我們則采用()2法。因無需求交計算,只需比較兩個包圍盒分別在三個軸向上投影的重疊情況,即可得出相交測試結(jié)果,非常簡單?,F(xiàn)以在一個軸向上的投影情況為例說明:圖3在軸向相交判斷。   設(shè),為兩包圍盒,為投影軸,分別為,的中心點,為點,在上的投影。,分別為包圍盒,在上的投影。若+  ,(如圖3所示)則在軸向上和不相交,反之在軸向上和鄰接或相53第5期高成英等:虛擬穿衣中織物模型的建立和碰撞檢測的處理交。當(dāng)包圍盒,在三條軸向上的投影均相交時,則,

14、相交。定義的六個最大最小值分別確定了它在三個坐標(biāo)軸上的投影區(qū)間,因此間的相交測試最多只需六次比較運算,非常簡單快速。   3.3樹的更新當(dāng)衣片移動、旋轉(zhuǎn)后,需要對進(jìn)行更新,根據(jù)定義的6個最大最小值的組合,可以得到的8個頂點,對這8個頂點進(jìn)行相應(yīng)的旋轉(zhuǎn)和平移變化,并根據(jù)變化后的頂點計算新的。當(dāng)衣片發(fā)生變形時,需要重新計算樹中發(fā)生變形了的葉結(jié)點的,再利用變形葉節(jié)點的新來重新計算它們父節(jié)點的。這種計算必須嚴(yán)格按照從下到上的方式進(jìn)行。父節(jié)點的具體求法為:令(1,1,1,1,1,1)和(2,2,2,2,2,2)分別是兩個變形葉結(jié)點的,則父結(jié)點的即為(1,2),(1,2),(

15、1,2),(1,2),(1,2),(1,2),只需6次比較運算就完成一個結(jié)點的更新,其效率遠(yuǎn)遠(yuǎn)高于重新構(gòu)造包圍盒樹。   3.4基于樹的碰撞檢測算法基于樹碰撞檢測算法的核心是通過有效地遍歷這兩棵樹,以確定在當(dāng)前位置下,兩個碰撞體的某些部分是否發(fā)生碰撞,這是一個雙重遞歸遍歷的過程。算法描述如下:1:分別為人模和衣片構(gòu)造樹。2:人模的樹的根結(jié)點遍歷衣片的樹。如果發(fā)現(xiàn)人模樹的根結(jié)點的包圍盒與衣片樹內(nèi)部結(jié)點的包圍盒不相交,則停止向下遍歷;如果遍歷能到達(dá)衣片樹的葉節(jié)點,再用該葉節(jié)點遍歷人模樹。如果能到達(dá)人模樹的葉節(jié)點,則進(jìn)一步進(jìn)行基本幾何元素間的相交測試。3:檢測基本幾何元

16、素間是否相交。3.5自碰撞檢測在衣片縫合過程中,除了衣片同人模之間的碰撞外,由于衣片的動態(tài)變形,使得衣片與衣片自身間也有碰撞現(xiàn)象,因此必須進(jìn)行進(jìn)一步的自相交檢測。在系統(tǒng)設(shè)計中,我們利用三角形表面曲率來簡化計算。當(dāng)鄰近三角形法線的夾角較小時,它們不可能發(fā)生碰撞,只有當(dāng)夾角超過閾值,才有可能碰撞。我們?yōu)槊總€三角形建立它的臨近三角形列表,通過判斷每個三角形的所有鄰近區(qū)域的三角形表面曲率,來排除大部分不可能相交的情況,從而簡化了計算。   4虛擬穿衣的具體實現(xiàn)步驟   (1)讀入二維服裝系統(tǒng)設(shè)計的衣片   (2)

17、選擇所有需要縫合衣片的對應(yīng)的縫合邊   (3)將二維衣片離散并形成初始的彈簧質(zhì)點系統(tǒng))將衣片離散成規(guī)則四邊域網(wǎng)格,再將四邊域網(wǎng)格的對角線相連,形成規(guī)則三角形網(wǎng)格的彈簧質(zhì)點系統(tǒng)。三角形的頂點形成質(zhì)點,三角形的邊形成相應(yīng)的彈簧。衣片的三角化,正是為方便地建立衣片的樹;)按質(zhì)點間的相應(yīng)關(guān)系,加入各種彈力。在離散衣片時,需特別注意的是在(2)中所選擇的對應(yīng)縫合邊的長度一定要相等,且當(dāng)衣片離散化時,在對應(yīng)縫合邊上的原始幾何元素(這里為三角形)的個數(shù)也應(yīng)相同。若在(2)中所選擇的對應(yīng)縫合邊長度不等,或原始幾何元素個數(shù)不同時,系統(tǒng)將需做一些預(yù)處理:將其中一條縫合邊的所有信息刪除

18、,將另一條縫合邊的相應(yīng)信息賦給它。   (4)將衣片交互式地放置在人體模型附近的初始位置在該步驟中,首先,給每一縫合衣片賦一個別名(系統(tǒng)自定義的標(biāo)準(zhǔn)別名:左前片,右前片,左后片,右后片等),根據(jù)每一衣片的別名,衣片被自動地放置在人體模型附近的相應(yīng)初始位置上。   (5)分別為人模和衣片建立樹本文中所涉及的兩個碰撞體,分別為人模和衣片,其中人模在整個動態(tài)模擬過程中為靜態(tài)的,因此,只需在初始化時構(gòu)造一次樹即可。為了進(jìn)一步提高碰撞檢測的效率,我們在構(gòu)造人模的樹時,應(yīng)根據(jù)(4)中得到的縫合衣片別名,結(jié)合人模的幾何結(jié)構(gòu),靈活構(gòu)造人模的樹。例如:

19、假設(shè)我們在(4)中,得到衣片分別為:左前片,右前片,左后片,右后片。我們即可知,將要縫合的為一件四片裁剪片的上衣,所以在構(gòu)造人模的樹,我們只取人模上半身數(shù)據(jù)來構(gòu)造人模的,具體層次結(jié)構(gòu)如圖4所示。在進(jìn)行人模和衣片間碰撞檢測時,根據(jù)衣片的別名分別進(jìn)行局部檢測,(例如:左前片,就只需和人模樹第三層最左邊的結(jié)點,左前半身的進(jìn)行碰撞檢測)有效地減少了需要碰撞檢測的元素。系統(tǒng)根據(jù)所縫合的衣片不同,建立的人模樹亦不相同。圖4人模的樹層次結(jié)構(gòu)圖   (6)動態(tài)變形模型的計算根據(jù)衣片的縫合信息,我們在衣片的對應(yīng)縫合邊上加載縫合力。在縫合力、重力和衣片上各質(zhì)點間內(nèi)部彈力的共同作用下,二維衣片將逐步變形,并逐漸被縫合在一起,整個縫合過程是一個動態(tài)的迭代過程。在動態(tài)迭代過程中,要同時進(jìn)行大量的人模衣片間,及衣片衣片間的碰撞檢測處理,并給出相應(yīng)碰撞響應(yīng)(當(dāng)有碰撞現(xiàn)象發(fā)生時,要重新調(diào)整碰撞點處的位置,避免發(fā)生穿越和滲透)的處理??p合過程結(jié)束后,便可以得到縫合好的三維服裝穿在靜態(tài)人模上的效果。   5結(jié)束語實驗證明,本文所采用的織物變形模型彈簧質(zhì)點模型,模型簡單,能夠較真實地反映虛擬環(huán)境下的織物特性。所采用的基于的層次包圍盒碰撞檢測算法,除了層次包圍盒自身在碰撞檢測上的較高性能外,算法還從以下幾方面提高了

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論