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

        ?

        結(jié)合QEM的布料層次化動(dòng)態(tài)模擬方法

        2023-12-15 11:05:30馬曉彤祝雙武王世豪李丑旦馬阿輝
        絲綢 2023年12期
        關(guān)鍵詞:效果方法

        馬曉彤, 祝雙武, 王世豪, 李丑旦, 馬阿輝

        (西安工程大學(xué) 紡織科學(xué)與工程學(xué)院,西安 710048)

        20世紀(jì)以來,對(duì)剛體、流體、布料及軟體等可變形對(duì)象的模擬是計(jì)算機(jī)圖形學(xué)領(lǐng)域的重要研究話題。與更為追求結(jié)果準(zhǔn)確性的學(xué)科相比,基于物理的模擬領(lǐng)域主要關(guān)注的問題是穩(wěn)定性、模擬速度及視覺上的合理效果。布料模擬主要應(yīng)用于電影電視、計(jì)算機(jī)游戲、紡織服裝設(shè)計(jì)等領(lǐng)域,模擬現(xiàn)實(shí)世界中布料在某一刻的運(yùn)動(dòng)形態(tài),近幾十年來寶貴的理論和技術(shù)方法層出不窮[1]。

        關(guān)于布料物理模型的建立,離散體模型采用離散質(zhì)點(diǎn)進(jìn)行布料建模,通過質(zhì)點(diǎn)之間的相互作用力來維持布料在運(yùn)動(dòng)時(shí)的形態(tài),典型方法如質(zhì)點(diǎn)—彈簧模型[2]、粒子模型[3];連續(xù)體模型將布料看作連續(xù)介質(zhì)對(duì)其進(jìn)行建模,典型方法如彈性變形模型、有限元方法[4]等。建立布料模型后,按照傳統(tǒng)模擬流程需要對(duì)布料質(zhì)點(diǎn)進(jìn)行受力分析,根據(jù)牛頓力學(xué)公式計(jì)算質(zhì)點(diǎn)的加速度,進(jìn)而求出速度和位置。在時(shí)間積分法中,隱式歐拉積分[5]在求解時(shí)允許使用較大的時(shí)間步長對(duì)布料進(jìn)行模擬并保證了系統(tǒng)的穩(wěn)定性,但隱式積分涉及非線性方程的求解問題,計(jì)算較為復(fù)雜;Liu等[6]將非線性系統(tǒng)的求解轉(zhuǎn)化為最優(yōu)化問題,將原方程的求解等價(jià)于最優(yōu)化問題目標(biāo)函數(shù)的極值求解,Wang等[7]提出了一種使用雅可比預(yù)處理和切比雪夫加速的新梯度下降方法,提高收斂速度的同時(shí)降低了計(jì)算成本;Bouaziz等[8]在文獻(xiàn)[6]的基礎(chǔ)上提出了投影動(dòng)力學(xué),Müller等[9]提出了基于位置約束的動(dòng)力學(xué)方法(PBD),使用幾何約束的概念來代替布料模型內(nèi)部的彈性力,在每個(gè)時(shí)刻只需要訪問質(zhì)點(diǎn)位置,降低了內(nèi)存訪問的頻率和計(jì)算成本,減少了數(shù)據(jù)之間的相互依賴,在固體、流體、布料等形變體方面都有對(duì)應(yīng)的模擬方法[10-11],因此PBD廣泛應(yīng)用于游戲、仿真等領(lǐng)域。

        雖然PBD方法的計(jì)算過程較適合于實(shí)時(shí)模擬的場(chǎng)景,但其運(yùn)行速度和布料整體模擬效果會(huì)受到網(wǎng)格分辨率及迭代計(jì)算次數(shù)的限制。當(dāng)布料網(wǎng)格分辨率較低時(shí),較少的迭代次數(shù)就可以使質(zhì)點(diǎn)的位置快速矯正,運(yùn)行速度較快,對(duì)于高分辨率網(wǎng)格而言運(yùn)行效率則明顯下降。為了提升PBD方法在高分辨率布料網(wǎng)格上的收斂速度,緩解其依賴約束求解順序造成的收斂慢等問題,基于多重網(wǎng)格思想的層次化模擬方法[12]應(yīng)運(yùn)而生。多重網(wǎng)格是將原始精細(xì)網(wǎng)格逐步粗糙化,構(gòu)建多層次、質(zhì)點(diǎn)規(guī)模遞減的網(wǎng)格序列,根據(jù)計(jì)算過程中的誤差分量收斂特性,快速消除高頻誤差,將收斂較為緩慢的低頻誤差轉(zhuǎn)移到粗網(wǎng)格中去消除,避免單層布料網(wǎng)格迭代次數(shù)的顯著增加。

        Müller[12]將多重網(wǎng)格方法引入到基于位置約束的模擬中(Hierarchical Position Based Dynamics,HPBD),從精細(xì)網(wǎng)格中挑選質(zhì)點(diǎn)子集作為下一層較粗糙網(wǎng)格的點(diǎn),將精細(xì)層網(wǎng)格中的位置預(yù)測(cè)值自頂向下傳遞,再由粗糙網(wǎng)格迭代計(jì)算后向上一層較精細(xì)網(wǎng)格延伸,提升了PBD方法的模擬速度。HPBD方法基于初始網(wǎng)格的信息在較粗糙網(wǎng)格上創(chuàng)建新約束,而沒有直接在粗細(xì)網(wǎng)格之間進(jìn)行約束的傳遞,Jeon等[13]提出了一種基于軟約束的約束粗化方法并應(yīng)用到隱式積分上,使得多重網(wǎng)格方法更好地應(yīng)用于布料及服裝模擬中;Xian等[14]提出了基于Galerkin多重網(wǎng)格法的仿真方法,采用最遠(yuǎn)點(diǎn)均勻采樣法構(gòu)建多重網(wǎng)格,使用分段常數(shù)權(quán)重由粗糙網(wǎng)格向較精細(xì)網(wǎng)格插值,可以使用不同的迭代計(jì)算方法及多重網(wǎng)格迭代模式;靳雁霞等[15]使用粒子群算法對(duì)布料表面進(jìn)行搜索,優(yōu)化了多精度布料的建模速度和精度;鄭華等[16]對(duì)基于位置約束的層次化模擬進(jìn)行了改進(jìn),使用決策函數(shù)法構(gòu)建各層布料網(wǎng)格并提出一種關(guān)聯(lián)模型來確定父子間的權(quán)值信息,其收斂速度可以使模擬效果較快地達(dá)到理想狀態(tài),具有一定的穩(wěn)定性。這些文獻(xiàn)皆對(duì)層次化布料模擬做出了貢獻(xiàn)并各有側(cè)重點(diǎn),本文同樣進(jìn)行了層次化布料模擬方法的研究,采用基于二次誤差度量的邊折疊策略對(duì)布料幾何多層網(wǎng)格進(jìn)行構(gòu)建,得到的層次網(wǎng)格模型可以維持穩(wěn)定的約束效果。同時(shí)提出一種混合平滑方案,結(jié)合SOR法及GS法各自的優(yōu)點(diǎn)來對(duì)布料系統(tǒng)進(jìn)行迭代求解。由于質(zhì)點(diǎn)受其周圍相連拓?fù)浣Y(jié)構(gòu)的粒子信息影響,結(jié)合空間插值方法反距離加權(quán)(Inverse Distance Weighted,IDW)在層次網(wǎng)格間進(jìn)行父子點(diǎn)權(quán)重信息的計(jì)算和矯正信息的傳遞,可以使待插值點(diǎn)獲得較為平滑的結(jié)果。實(shí)驗(yàn)過程中采用布料自由落體后懸垂、與球體碰撞交互等方式進(jìn)行了測(cè)試,均顯示模擬效果良好。

        1 模擬方法概述

        1.1 多重網(wǎng)格方法

        在PBD方法中,質(zhì)點(diǎn)的目標(biāo)位置在多個(gè)約束的求解過程中不斷受到影響,如果過度增加迭代次數(shù)會(huì)導(dǎo)致模擬效率降低。對(duì)單層網(wǎng)格粗化后進(jìn)行迭代也可以提高收斂速度,卻會(huì)降低網(wǎng)格精度。因此,在模擬中使用層次化的網(wǎng)格結(jié)構(gòu),提高布料分辨率的同時(shí)還可以提升計(jì)算速度,是一種高效可行的模擬方法。

        多重網(wǎng)格法(Multigrid,MG)廣泛地應(yīng)用于數(shù)值計(jì)算領(lǐng)域[17],核心思想是利用各粗細(xì)層次網(wǎng)格之間的連接關(guān)系來降低求解布料系統(tǒng)或其他問題時(shí)的計(jì)算量。在布料模擬過程中,較粗糙網(wǎng)格上的約束組成規(guī)模相對(duì)較小的方程組,采用Gauss-Seidel等迭代方法在層次網(wǎng)格之間進(jìn)行計(jì)算。多重網(wǎng)格方法雖然增加了網(wǎng)格層數(shù),并且需要為每一層網(wǎng)格單獨(dú)建立約束,但因?yàn)榈螖?shù)的減少,在達(dá)到同樣的模擬效果時(shí),總的計(jì)算量會(huì)少于單層網(wǎng)格,有效提高迭代算法的收斂速度,構(gòu)建流程如圖1所示。

        圖1 布料多重網(wǎng)格結(jié)構(gòu)

        1.2 基于多重網(wǎng)格的層次化模擬

        將多重網(wǎng)格方法應(yīng)用到布料模擬過程后,將原始網(wǎng)格定義為最精細(xì)的一層,通過在上一層較精細(xì)網(wǎng)格中挑選質(zhì)點(diǎn)子集來構(gòu)造下一層較粗糙網(wǎng)格,在挑選時(shí)要保證當(dāng)前網(wǎng)格的每個(gè)質(zhì)點(diǎn)在它的質(zhì)點(diǎn)子集中至少有兩個(gè)連接點(diǎn),避免出現(xiàn)質(zhì)點(diǎn)丟失或重復(fù)的情況。將為下一層網(wǎng)格挑選出的質(zhì)點(diǎn)標(biāo)記為coarse,而fine則為要剔除的點(diǎn),必須要保證質(zhì)點(diǎn)子集內(nèi)部的連通性,方便后續(xù)為其構(gòu)建約束關(guān)系,還要在coarse點(diǎn)和fine點(diǎn)之間建立父子關(guān)系,用于傳遞矯正信息。文獻(xiàn)[12]中以PBD原理為基礎(chǔ)實(shí)現(xiàn)了層次化的位置動(dòng)力學(xué)模擬,本文以質(zhì)點(diǎn)的距離約束為例,位置矯正過程如下所述。

        C(p1,p2)=|p1-p2|-d

        (1)

        式中:C(p1,p2)表示距離約束函數(shù),p1、p2為進(jìn)行距離調(diào)整的質(zhì)點(diǎn)位置,|p1-p2|為兩點(diǎn)間的實(shí)際距離,d為兩點(diǎn)間的原長。

        當(dāng)函數(shù)等于0不成立時(shí),需要找到位移修正量Δp對(duì)質(zhì)點(diǎn)的預(yù)測(cè)位置進(jìn)行矯正。此外,模擬在三維空間中進(jìn)行,求解約束方程時(shí)可能產(chǎn)生多個(gè)解,需要添加另外的約束來指定Δp的方向。將Δp限制在約束的梯度方向來使系統(tǒng)最快穩(wěn)定,保持系統(tǒng)的動(dòng)量和角動(dòng)量守恒,如下式所示。

        Δp=λpC(p)

        (2)

        式中:標(biāo)量λ為縮放系數(shù),用于控制梯度方向上的變化幅度。

        下一步對(duì)距離約束函數(shù)在點(diǎn)p1、p2處分別求梯度,如下式所示。

        (3)

        (4)

        將式(3)(4)代入式(2)可求出距離約束中兩點(diǎn)的修正量Δp1和Δp2,并將其施加到原位置即可完成矯正,如下式所示。

        (5)

        (6)

        本文對(duì)文獻(xiàn)[12]中方法進(jìn)行了實(shí)踐,布料進(jìn)行懸垂、碰撞交互的模擬效果如圖2所示。

        圖2 層次化位置動(dòng)力學(xué)模擬效果

        采用多重網(wǎng)格進(jìn)行布料模擬,具體流程如下:①基礎(chǔ)網(wǎng)格模型的建立。完成初始網(wǎng)格質(zhì)點(diǎn)及其約束信息的建立過程。②確定層次間網(wǎng)格質(zhì)點(diǎn)的簡化規(guī)則。進(jìn)行多層網(wǎng)格的粗化過程,決定質(zhì)點(diǎn)是否剔除及剔除的先后順序,標(biāo)記出coarse點(diǎn)及fine點(diǎn)。③進(jìn)行層次網(wǎng)格的構(gòu)建。建立每層網(wǎng)格的約束信息集合,保持網(wǎng)格連通,避免出現(xiàn)孤立點(diǎn),刪除多余的連接邊。④進(jìn)行層次間信息傳遞。構(gòu)建好各層網(wǎng)格之后,建立層次之間的連接關(guān)系,用于原始數(shù)據(jù)和矯正信息的傳遞。⑤選擇迭代方法對(duì)層次網(wǎng)格系統(tǒng)進(jìn)行求解,然后對(duì)原始網(wǎng)格質(zhì)點(diǎn)位置進(jìn)行矯正。

        2 基于二次誤差度量策略的層次化方法

        按照前文模擬流程,下一層網(wǎng)格質(zhì)點(diǎn)的選擇及層次網(wǎng)格構(gòu)建是解決這個(gè)問題的核心步驟。本文使用文獻(xiàn)[12]方法對(duì)布料進(jìn)行模擬時(shí)發(fā)現(xiàn),當(dāng)網(wǎng)格層數(shù)逐漸增加,為網(wǎng)格簡化所挑選出的質(zhì)點(diǎn)數(shù)目是不均勻的,在后續(xù)層次之間傳遞矯正信息時(shí)也會(huì)影響到函數(shù)執(zhí)行效率。同時(shí)構(gòu)造出的網(wǎng)格會(huì)有不規(guī)則多邊形的出現(xiàn),無法保證網(wǎng)格的全局三角結(jié)構(gòu),對(duì)布料進(jìn)行約束求解時(shí),網(wǎng)格整體的約束效果和理論狀態(tài)會(huì)產(chǎn)生區(qū)別,那么在最終模擬效果的表現(xiàn)上就會(huì)與單層網(wǎng)格收斂狀態(tài)有一定的誤差。

        基于以上原因,構(gòu)造高質(zhì)量的布料網(wǎng)格是非常必要的。本文采用邊折疊法,基于二次誤差度量策略來構(gòu)建多重網(wǎng)格,該方法在眾多模型簡化算法當(dāng)中具有相對(duì)較高的計(jì)算速度和較小的內(nèi)存消耗。將其引入到布料層次化模擬中,通過控制簡化率來建立層次網(wǎng)格,可以在較短的時(shí)間內(nèi)生成質(zhì)量較好的三角網(wǎng)格,除簡化布料規(guī)整模型外,也適合于三維服裝模擬中層次網(wǎng)格的構(gòu)建,較大程度地保留不規(guī)則模型的細(xì)節(jié)特征和質(zhì)點(diǎn)分布情況。

        2.1 層次網(wǎng)格的構(gòu)建

        邊折疊方法[18]基于能量函數(shù)優(yōu)化挑選網(wǎng)格中的邊進(jìn)行精簡,將邊折疊成一個(gè)頂點(diǎn),并從網(wǎng)格中減去這條邊相連的所有三角形,及時(shí)修改邊折疊后周圍的幾何拓?fù)湫畔ⅰ?蓪⑵浞譃槿呎郫B與半邊折疊,其中半邊折疊的合并頂點(diǎn)位置是原邊兩個(gè)端點(diǎn)之一,簡化后的網(wǎng)格模型中的頂點(diǎn)是原模型的子集,它可以更加快速地在層次網(wǎng)格之間傳遞矯正信息,相較于全邊折疊只需要更少的存儲(chǔ)空間,具有更高的網(wǎng)格構(gòu)建速度?;诓剂夏M實(shí)時(shí)性和高效率的要求,本文選擇簡化效率更高的半邊折疊方法來完成粗細(xì)網(wǎng)格的建立。對(duì)邊(v1,v2)進(jìn)行簡化,頂點(diǎn)v1合并到v2的位置,并對(duì)周邊拓?fù)湫畔⑦M(jìn)行修改,如圖3所示。

        圖3 半邊折疊示例

        在邊折疊算法中有兩個(gè)問題需要關(guān)注,邊折疊的順序和新合并頂點(diǎn)的位置。新頂點(diǎn)的位置根據(jù)半邊折疊規(guī)則確定,邊折疊的順序則依據(jù)二次誤差度量策略[19],進(jìn)一步降低邊折疊方法的時(shí)間復(fù)雜度,獲得較優(yōu)簡化效果的同時(shí)提高計(jì)算效率。網(wǎng)格中每個(gè)頂點(diǎn)看作周圍三角面所在平面的交集點(diǎn),設(shè)plane(v)為點(diǎn)v關(guān)聯(lián)的所有三角面集合,每個(gè)平面方程如下式所示。

        ax+by+cz+d=0(a2+b2+c2=1)

        (7)

        式中:p=[abcd]T代表平面方程的系數(shù)。

        每個(gè)三角網(wǎng)格所在平面擁有一個(gè)Kp,表示為基本誤差矩陣,如下式所示。

        (8)

        網(wǎng)格中的每個(gè)頂點(diǎn)擁有一個(gè)4×4誤差矩陣Q,對(duì)該頂點(diǎn)的所有Kp求和得到,如下式所示。

        Q=∑p∈plane(v)Kp

        (9)

        將頂點(diǎn)的位置到它所有關(guān)聯(lián)三角形面的距離平方和定義為折疊誤差,首先初始化網(wǎng)格中所有點(diǎn)的誤差矩陣Q和誤差代價(jià)Δ(v)。統(tǒng)計(jì)所有參與折疊的邊,在每條邊(v1,v2)的兩個(gè)端點(diǎn)中選擇代價(jià)較小的點(diǎn),選作新合并點(diǎn)v,后續(xù)將該邊折疊到該點(diǎn)。Q1、Q2分別為原兩端點(diǎn)的誤差矩陣,對(duì)合并頂點(diǎn)v的位置進(jìn)行更新后,其誤差矩陣更新為Δ(v)=Q1+Q2,折疊誤差可以通過二次項(xiàng)表達(dá)式Δ(v)=vTQv重新計(jì)算得出。根據(jù)計(jì)算出的誤差代價(jià)對(duì)所有邊進(jìn)行排序,構(gòu)建最小堆,依次折疊當(dāng)前誤差代價(jià)最小的邊,刪除所有的退化邊和三角形,并更新受該邊影響的其余邊的折疊誤差及新合并頂點(diǎn)v的位置,直到滿足該層網(wǎng)格簡化條件。

        綜合以上過程,本文將基于二次誤差度量的網(wǎng)格簡化和布料模擬流程進(jìn)行了結(jié)合,對(duì)網(wǎng)格建立方案進(jìn)行了分析和設(shè)計(jì),構(gòu)建流程如圖4所示。

        圖4 層次化構(gòu)建流程示意

        在簡化過程中要避免網(wǎng)格重疊的問題,對(duì)邊折疊前后三角所在平面的法向量進(jìn)行計(jì)算,通過點(diǎn)積計(jì)算兩個(gè)向量的夾角并判斷當(dāng)前兩個(gè)向量的朝向。如果折疊前后的法向量點(diǎn)乘小于0,即兩向量夾角大于90°,則折疊該邊后出現(xiàn)了網(wǎng)格重疊,呈現(xiàn)不合理的布料網(wǎng)格拓?fù)?會(huì)產(chǎn)生錯(cuò)誤的計(jì)算結(jié)果進(jìn)而影響模擬效果,需要進(jìn)行法線翻轉(zhuǎn)對(duì)網(wǎng)格結(jié)構(gòu)進(jìn)行調(diào)整。

        同時(shí),注意不是所有的邊都滿足折疊條件,為了維持布料網(wǎng)格形狀,在折疊時(shí)要進(jìn)行邊界判斷。如果包含該邊的三角面只有一個(gè),則當(dāng)前選中的待折疊邊是網(wǎng)格邊界,要進(jìn)行邊界保持,將位于布料網(wǎng)格邊界的質(zhì)點(diǎn)定義為保持點(diǎn),保持點(diǎn)不可以折疊到布料網(wǎng)格內(nèi)部。圖5(a)(b)分別為網(wǎng)格折疊和未進(jìn)行邊界保持的錯(cuò)誤構(gòu)建效果,圖5(c)(d)中則是布料懸掛狀態(tài)下正確結(jié)果和錯(cuò)誤結(jié)果的對(duì)比。

        圖5 錯(cuò)誤簡化效果示例

        通過以上分析,層次質(zhì)點(diǎn)的選擇和層次網(wǎng)格的重建在邊折疊的過程中完成,采用以上方法進(jìn)行三層布料網(wǎng)格構(gòu)建的實(shí)驗(yàn)效果如圖6所示。

        圖6 基于QEM方法構(gòu)建三層網(wǎng)格

        2.2 層次網(wǎng)格的關(guān)聯(lián)

        構(gòu)建好布料多層網(wǎng)格后進(jìn)行層次網(wǎng)格之間數(shù)據(jù)信息的傳遞,將與fine點(diǎn)相連的所有coarse點(diǎn)視為其父節(jié)點(diǎn),此時(shí)需要確定fine點(diǎn)與其父節(jié)點(diǎn)之間的權(quán)重信息,并根據(jù)權(quán)重及父節(jié)點(diǎn)位置來更新fine點(diǎn),如圖7所示。

        圖7 質(zhì)點(diǎn)分布示例

        本文借鑒了反距離加權(quán)法的思想進(jìn)行插值,它常用作大規(guī)模地形模型中數(shù)據(jù)的處理,假設(shè)網(wǎng)格中每個(gè)已知數(shù)據(jù)輸入點(diǎn)對(duì)周圍其余頂點(diǎn)都有局部的影響,且與距離相關(guān)。

        本文以圖7為例,將當(dāng)前層布料網(wǎng)格中的coarse點(diǎn)視為樣本點(diǎn),而fine點(diǎn)為待插值點(diǎn)。以樣本點(diǎn)與待插值點(diǎn)間的距離為權(quán)重進(jìn)行加權(quán)平均,距離待插值點(diǎn)越近的樣本點(diǎn)分配的權(quán)重越大,即權(quán)重隨距離的增大而減小。首先計(jì)算待插值點(diǎn)到所有影響它的樣本點(diǎn)的距離di(i=1,2,…,n),隨后計(jì)算每個(gè)樣本點(diǎn)的權(quán)重wi,如下式所示。

        (10)

        式中:p為冪值,樣本點(diǎn)的權(quán)重與反距離的p次冪成正比,它決定了權(quán)重的下降速度。p值較大時(shí),距離較遠(yuǎn)的樣本點(diǎn)權(quán)重會(huì)迅速減小,待插值點(diǎn)更接近鄰近樣本點(diǎn)的值;p值較小時(shí),網(wǎng)格質(zhì)點(diǎn)數(shù)據(jù)更加平滑。

        計(jì)算出權(quán)重后,根據(jù)下式對(duì)其位置進(jìn)行加權(quán)計(jì)算,更新fine點(diǎn)位置。

        (11)

        3 混合平滑方式

        3.1 平滑方法的選擇

        在幾何多重網(wǎng)格的V-cycle過程中,預(yù)平滑首先用于改進(jìn)模擬的初始值,旨在通過減小誤差來降低后平滑所需的迭代次數(shù)。預(yù)平滑與后平滑常結(jié)合起來用于加速線性方程組的收斂,進(jìn)一步降低網(wǎng)格中的殘差,并增加迭代的穩(wěn)定性。SOR迭代法是GS法的改進(jìn),在迭代計(jì)算的基礎(chǔ)上引入一個(gè)松弛因子w,進(jìn)行加權(quán)平均以求解方程組,松弛因子的取值會(huì)直接影響到算法的收斂性和速度,甚至可以使發(fā)散的迭代過程變得收斂。層次化模擬旨在改善網(wǎng)格分辨率增加后計(jì)算速度下降的問題,而SOR迭代法恰好適合在網(wǎng)格尺寸較大時(shí)使用,其簡化計(jì)算公式如下式所示。

        xk+1=xk+wrk(0

        (12)

        式中:xk+1和xk分別為第k+1次和第k次的迭代結(jié)果;rk為第k+1次迭代的修正量;w為松弛因子,其最合適的取值需要在計(jì)算過程中具體分析[20]。

        3.2 不同方法的對(duì)比分析

        相比于GS和Jacobi作為預(yù)、后平滑方案,SOR具有更好的局部平滑性和全局收斂性,能夠更有效地消除數(shù)值誤差。為了進(jìn)一步驗(yàn)證SOR迭代的先進(jìn)性,本文基于PBD方法,設(shè)置51×51的布料網(wǎng)格,在只添加距離約束的情況下測(cè)試了采用Jacobi、GS、SOR三種不同的方法時(shí)布料收斂效果,如圖8所示。

        圖8 三種方法收斂速度對(duì)比

        從圖8可以看出,Jacobi法的收斂速度較慢。實(shí)驗(yàn)中設(shè)置w=1.9,SOR法的相對(duì)誤差在耗時(shí)1 671 ms與3 300 ms時(shí),分別下降到10-2與10-3,相較于GS法其收斂速度提升了15.7%和25%?;赟OR方法的優(yōu)點(diǎn)及實(shí)驗(yàn)結(jié)果對(duì)比,本文提出混合平滑方式,將SOR方法作為前平滑,GS方法作為后平滑方案。在V-cycle的向下沖程中,SOR法通過調(diào)整松弛因子可以更快地平滑誤差并將其限制到較粗層次,而向上沖程中需要從較粗網(wǎng)格計(jì)算出較細(xì)網(wǎng)格上的解,使用GS法可以簡化其實(shí)現(xiàn)步驟。

        4 模擬實(shí)驗(yàn)效果及對(duì)比

        本文實(shí)驗(yàn)在主頻為3.30 GHz的Intel(R)Core(TM)i7處理器和16 GB RAM內(nèi)存的Win 10操作系統(tǒng)設(shè)備上進(jìn)行,使用Unity3D引擎進(jìn)行渲染。首先對(duì)布料層次化模擬結(jié)果進(jìn)行實(shí)驗(yàn),設(shè)置同樣的網(wǎng)格質(zhì)點(diǎn)數(shù)目,分別迭代計(jì)算3、5、9、27次,多重網(wǎng)格層數(shù)為3,重力采用-9.8 N等條件,分別采用了PBD方法、文獻(xiàn)[12]方法及本文方法,布料進(jìn)行自由落體運(yùn)動(dòng)后懸垂效果如表1所示。

        表1 模擬效果對(duì)比

        從表1中PBD方法可以看出,質(zhì)點(diǎn)數(shù)目在千級(jí)別時(shí),層次化方法迭代10次以內(nèi)就可以獲得較好的模擬效果,而該方法整體表現(xiàn)出的拉伸性較強(qiáng),布料局部位置沒有較好地收斂,增加迭代次數(shù)至27次時(shí)才達(dá)到后兩種層次化方法計(jì)算9次時(shí)的效果,且模擬速率相對(duì)較低。表1中本文方法則展現(xiàn)了較為出色的模擬結(jié)果,特別是在布料質(zhì)點(diǎn)位置的快速有效收斂方面表現(xiàn)優(yōu)異??梢钥闯?本文方法建立了較高質(zhì)量的拓?fù)渚W(wǎng)格,如表1中小方框所標(biāo)注,與前兩種方法相比,在拉伸點(diǎn)處等關(guān)鍵位置對(duì)質(zhì)點(diǎn)位置進(jìn)行了更精確的約束處理,能夠較好地模擬布料在拉伸情況下的形變行為。

        為了驗(yàn)證本文方法在分層模擬方面的有效性,在實(shí)驗(yàn)中與常見的布料模擬方法進(jìn)行了對(duì)比研究。具體而言,首先為網(wǎng)格設(shè)置相同的質(zhì)點(diǎn)數(shù)目并固定迭代次數(shù)及GS平滑方法,讓布料模型從靜止開始運(yùn)動(dòng);其次分別使用了隱式積分法、PBD、文獻(xiàn)[12]及本文方法對(duì)布料收斂速度及形變結(jié)果進(jìn)行了對(duì)比。如圖9(a)所示,只設(shè)置距離約束的條件下,由于約束數(shù)量較少所以分層模擬的優(yōu)勢(shì)并不明顯,當(dāng)誤差下降到10-3時(shí)拉開差距;在圖9(b)中,同時(shí)設(shè)置了距離約束和彎曲約束,可以看出多重網(wǎng)格方法開始發(fā)揮其優(yōu)勢(shì),相對(duì)誤差在10-2時(shí),本文方法與PBD和文獻(xiàn)[12]的方法相比收斂速度分別提升了26.5%和10.72%,誤差下降到10-3時(shí)則分別提升了24%和15.7%,在模擬效果上也同樣表現(xiàn)優(yōu)異。

        圖9 三種不同方法收斂速度對(duì)比

        在前文的QEM層次化模擬的條件下,采用本文混合方案時(shí)布料系統(tǒng)的收斂性,如圖10所示。同樣X軸表示模擬耗時(shí),Y軸表示每次平滑前后迭代中測(cè)量的相對(duì)殘差,松弛因子w=1.1。V(SOR,GS)表示SOR用于預(yù)平滑、GS用于后平滑的情況,結(jié)果表明,V(SOR,GS)相較于其他兩種混合平滑方案具有更快的收斂速度,得以更迅速地消除誤差。

        圖10 平滑方案對(duì)比

        通過分析實(shí)驗(yàn)結(jié)果并結(jié)合一些經(jīng)驗(yàn)規(guī)則和啟發(fā)式方法,發(fā)現(xiàn)本文所建立的層次網(wǎng)格中收斂速度與網(wǎng)格間質(zhì)點(diǎn)數(shù)目的差異密切相關(guān)。若較粗網(wǎng)格中質(zhì)點(diǎn)數(shù)是其上層細(xì)網(wǎng)格的1/2及以上時(shí),可以較大程度地減小誤差,若網(wǎng)格間數(shù)目差異過于大時(shí)則可能會(huì)引發(fā)布料系統(tǒng)的不穩(wěn)定問題,因此在選擇預(yù)平滑和后平滑方案時(shí)需要根據(jù)所求解系統(tǒng)的特點(diǎn)進(jìn)行調(diào)整。

        在關(guān)注速度的同時(shí),為了驗(yàn)證本文提出的層次網(wǎng)格構(gòu)建方法及所采用的混合平滑方式可以模擬出穩(wěn)定可靠的效果,在基礎(chǔ)模擬效果上添加了風(fēng)力作用及小球碰撞,觀察其在外力作用下的表現(xiàn),并從模擬結(jié)果中隨機(jī)選擇某一幀作為代表性樣本進(jìn)行分析。如圖11所示,在風(fēng)力作用下布料產(chǎn)生了自然的波動(dòng),與小球碰撞時(shí)未出現(xiàn)任何穿透和不穩(wěn)定現(xiàn)象,因此表明本文方法在處理重力及拉力、風(fēng)力等外部作用時(shí)均可保持模擬效果的穩(wěn)定性。

        圖11 布料模擬效果

        5 結(jié) 語

        針對(duì)傳統(tǒng)基于位置的動(dòng)力學(xué)模擬在布料網(wǎng)格精度提升時(shí)模擬速率會(huì)大幅降低,層次化位置動(dòng)力學(xué)方法中隨著網(wǎng)格層數(shù)的增加,網(wǎng)格質(zhì)量不高、布料收斂狀態(tài)不穩(wěn)定等問題,本文采用基于二次誤差度量策略的邊折疊方法進(jìn)行布料多重網(wǎng)格的構(gòu)建,結(jié)合反距離加權(quán)法的思想進(jìn)行層與層之間的數(shù)據(jù)傳遞及位置矯正,可以生成質(zhì)量較好的布料三角網(wǎng)格模型,避免網(wǎng)格整體的約束結(jié)果出現(xiàn)較大的誤差,同時(shí)采用提出的混合平滑方案進(jìn)行誤差的迭代。經(jīng)實(shí)驗(yàn)驗(yàn)證,本文方法有效提高了布料模擬的收斂速度,單幀模擬耗時(shí)遠(yuǎn)小于單層網(wǎng)格方法,穩(wěn)定性在測(cè)試中表現(xiàn)良好,提升了布料模擬的質(zhì)量和效率。

        《絲綢》官網(wǎng)下載

        中國知網(wǎng)下載

        猜你喜歡
        效果方法
        按摩效果確有理論依據(jù)
        學(xué)習(xí)方法
        迅速制造慢門虛化效果
        抓住“瞬間性”效果
        中華詩詞(2018年11期)2018-03-26 06:41:34
        可能是方法不對(duì)
        模擬百種唇妝效果
        Coco薇(2016年8期)2016-10-09 02:11:50
        用對(duì)方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        四大方法 教你不再“坐以待病”!
        Coco薇(2015年1期)2015-08-13 02:47:34
        賺錢方法
        捕魚
        久久精品中文字幕第23页| 久久久久亚洲av成人人电影| 精品国内在视频线2019| 亚洲va欧美va国产综合| 久久99精品久久久久久国产人妖| 男男做h嗯啊高潮涩涩| 久久人人爽av亚洲精品| 99久久久无码国产精品试看| 精品亚洲女同一区二区| 亚洲成人av在线播放不卡| 大又大又粗又硬又爽少妇毛片| 女厕厕露p撒尿八个少妇| 亚洲一区二区欧美色妞影院| 亚洲一区二区三区免费av| 精品香蕉99久久久久网站| 欧美jizzhd精品欧美| 欧美三级超在线视频| 中文字幕亚洲一区视频| 男人和女人做爽爽视频| 国产女精品视频网站免费| 国产成人精品蜜芽视频| 好看的日韩精品视频在线| 免费a级毛片18以上观看精品| 成人国产午夜在线视频| 91在线视频视频在线| 不卡的高清av一区二区三区| 亚洲综合欧美在线一区在线播放 | 91视频爱爱| 亚洲日本中文字幕乱码| 韩国三级在线观看久| 69精品丰满人妻无码视频a片| 国产精品亚洲综合色区丝瓜 | 无码精品国产va在线观看| 亚洲中出视频| 国产情侣亚洲自拍第一页| 亚洲春色在线视频| 国产一区二区三区小说| 国产亚洲精品视频网站| 中文字幕人妻熟女人妻| 日韩A∨精品久久久久| 中文字幕一区二区三区喷水|