一種基于人體混合包圍盒的動態(tài)服裝仿真方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及動態(tài)人體服裝仿真技術(shù)領(lǐng)域,具體涉及一種基于人體混合包圍盒的動 態(tài)服裝仿真方法。
【背景技術(shù)】
[0002] 基于物理模型的人體服裝仿真一直是服裝CAD和計算機圖形學(xué)中的一個熱點研 宄內(nèi)容和挑戰(zhàn)課題。它需要交叉運用計算機、數(shù)學(xué)、物理、服裝工程等領(lǐng)域的知識,專注于真 實地、實時地、輕量化地生成織物和服裝運動與變形的實際效果,在虛擬試衣、人體模擬、電 影游戲等領(lǐng)域中得到了廣泛的應(yīng)用。
[0003] 在動態(tài)人體服裝模擬過程中,主要涉及到服裝的有效物理模型構(gòu)建,人體與服裝 的碰撞檢測等。對于服裝物理模擬,首先遇到的問題為物理模型的建立,在建模問題上,傳 統(tǒng)的服裝模型的建模方法有連續(xù)介質(zhì)模型、基于能量的粒子系統(tǒng)和彈簧-質(zhì)點模型,其中 彈簧-質(zhì)點模型構(gòu)造較為簡便。
[0004] 在實際模擬系統(tǒng)開發(fā)中如何更快速高效實時地處理人體與織物的碰撞關(guān)系是服 裝模擬的最關(guān)鍵的問題,其需解決的難點在于如何巧妙并合理的減少人體模型碰撞處理的 面片數(shù),減少碰撞檢測的時間。包圍盒技術(shù)能夠通過一些較為簡單的幾何物體來近似地模 擬復(fù)雜的幾何物體,從而達到減少碰撞處理時間的目的。目前使用比較廣泛的包圍盒技術(shù) 有球體包圍盒、軸向包圍盒(AABB)、有向包圍盒(0BB)以及離散有向多面體(k-DOPs)等。 但是現(xiàn)有包圍盒技術(shù)往往均存在包圍盒數(shù)量過多,走形誤差大,計算復(fù)雜,碰撞檢測效率低 等缺陷。例如:Weller等使用內(nèi)切球樹進行檢測剛體的碰撞與切入,但球形樹最底層的球 形包圍盒往往數(shù)量過多;Bradshaw等通過融合、爆發(fā)、膨脹等方法來減少球體的數(shù)量,由于 圓球是各向同性的,在表示尖銳或者平板型的特征時,容易出現(xiàn)較大的走形誤差,選擇橢圓 球作為包圍體可以有效地解決這個問題;Bischoff等使用種子點構(gòu)造初始橢圓球的方法, 將模型用橢球體分解,但單純用橢球體來表示,存在計算復(fù)雜的問題,不能有效的化簡計算 時間復(fù)雜度。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明所要解決的技術(shù)問題是提供一種可提高服裝物理模型和人體模型的碰撞 檢測速度、減少碰撞檢測時間,實現(xiàn)快速逼真的動態(tài)服裝仿真效果的基于人體混合包圍盒 的動態(tài)服裝仿真方法。
[0006] 本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案是:一種基于人體混合包圍盒的動態(tài) 服裝仿真方法,包括下列步驟:
[0007] S1 :輸入人體模型,利用MCASG圖算法對人體模型進行初次分割獲取人體手臂與 軀干的分割點、腿部與軀干的分割點、頭部與軀干的分割點,并將完整的人體模型分割為頭 部、手臂部、軀干部和腿部;
[0008] S2 :利用K均值聚類算法對步驟S1中人體模型初次分割得到的手臂部以及腿部進 行二次分割處理,得到上手臂、下手臂、上腿部以及下腿部;
[0009] S3:根據(jù)上手臂、下手臂、上腿部、下腿部、頭部以及軀干部位的具體形態(tài)特性確定 與人體模型各部位最為貼近且碰撞檢測效率盡可能高的混合層次包圍盒;
[0010] S4:運用彈簧-質(zhì)點模型對服裝建模,并對混合層次包圍盒的人體模型進行與織 物的碰撞檢測和響應(yīng)。本發(fā)明是基于人體混合層次包圍盒的服裝模擬,先對給定的三維人 體模型做分割處理,通過初分割和二次分割,將一個完整人體模型分割成便于生成包圍盒 的獨立區(qū)域。分割完畢后對每個部位根據(jù)形狀特征設(shè)置較為貼近的人體包圍盒,本發(fā)明選 取包圍盒的思想是選取最為貼近每個身體部位形狀并且計算量相對較低的包圍盒,然后對 每個部位的包圍盒進行沖突碰撞的檢測和處理。
[0011] 其中,在步驟S1中,將一個完整的人體模型與織物可能發(fā)生碰撞的部位進行分 害J,得到頭部、手臂部、腿部、軀干等部位,但是其對人體模型初分割得到的初始結(jié)果,并不 適合直接用于人體包圍盒的建立,比如初分割后得到的人體腿部有可能不是完全伸直的, 因此需要對初分割后的模型做二次分割。在步驟S2中,利用K均值聚類算法(K-Means Cluster)對人體模型進行二次分割。所述的K均值聚類算法是所有聚類算法中運用最為廣 泛的劃分聚類算法之一。它把每個數(shù)據(jù)點到原型的距離作為優(yōu)化的目標(biāo)函數(shù),運用函數(shù)求 極值的方法得到迭代運算的調(diào)整規(guī)則,是基于原型的目標(biāo)函數(shù)聚類算法的典范。在步驟S3 中,根據(jù)人體不同部位的具體形態(tài)特性來制定最貼近并且效率盡可能高的包圍盒成了本發(fā) 明解決問題最基本的一步。
[0012] 作為優(yōu)選,上手臂、下手臂、上腿部、下腿部采用圓柱體包圍盒,頭部采用圓球包圍 盒,軀干部位采用橢圓柱包圍盒,臀部部位采用圓球包圍盒。其中,對上手臂、下手臂、上腿 部、下腿部采用圓柱體包圍盒,所述的圓柱體包圍盒的計算量比圓球包圍盒多一次投影和 反投影的過程。實際運行過程中,計算量是圓球包圍盒的大約兩倍,它的優(yōu)點在于與人體模 型的手臂部以及腿部的外形比較接近,并且具有碰撞檢測與響應(yīng)的計算量較低、可以用一 個圓柱體包圍盒達到多個其他包圍盒難以達到的效果以及包圍手部和腿部的緊密度較高 等優(yōu)點。此外,本發(fā)明考慮到人體模型的軀干部位的外形比較接近橢圓柱,并且橢圓柱具有 碰撞檢測與響應(yīng)的計算量較低、可以用一個橢圓柱包圍盒達到多個其他包圍盒難以達到的 效果以及包圍軀干部位的緊密度較高等優(yōu)點,所以采用橢圓柱包圍盒模擬軀干部位。
[0013] 進一步地,所述步驟S3中軀干部位為女性軀干部位,所述女性軀干部位的胸部采 用圓球包圍盒。
[0014] 在步驟S4中,彈簧-質(zhì)點模型構(gòu)造簡便,而且能快速真實的模擬織物的彈性,柔軟 性,垂擺性等,因此應(yīng)用最為廣泛。傳統(tǒng)的彈簧質(zhì)點模型將織物在微觀上看成是若干個質(zhì)點 的集合。質(zhì)點由彈簧來連接,保持質(zhì)點的相對位置,以實現(xiàn)真實的織物效果。質(zhì)點本身沒有 大小,但它具有一定的并且均勻分布的質(zhì)量。質(zhì)點與質(zhì)點之間起連接作用的是彈簧,采用了 結(jié)構(gòu)彈簧、剪切彈簧以及彎曲彈簧三種彈簧來模擬衣服質(zhì)點之間的內(nèi)力。
[0015]