專利名稱:一種面向無(wú)拉伸布料仿真的質(zhì)點(diǎn)-彈簧模型約束方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)仿真和虛擬現(xiàn)實(shí)領(lǐng)域,具體地說是一種面向無(wú)拉伸布料仿真的質(zhì)點(diǎn)-彈簧模型約束方法。
背景技術(shù):
利用計(jì)算機(jī)圖形學(xué)及虛擬現(xiàn)實(shí)技術(shù)仿真自然真實(shí)人體運(yùn)動(dòng)過程的方法稱為人體運(yùn)動(dòng)仿真,具體包括建立人體及其附屬品的計(jì)算模型,仿真虛擬人在給定約束條件下自然真實(shí)的物理運(yùn)動(dòng)過程,并在計(jì)算機(jī)生成的虛擬環(huán)境中以三維圖形方式逼真呈現(xiàn)該運(yùn)動(dòng)過程。然而,自然真實(shí)人體表面有80%的面積被布料覆蓋,因此布料的逼真仿真在逼真人體運(yùn)動(dòng)仿真中起著關(guān)鍵作用。布料是天然或人工纖維的網(wǎng)狀編織物。在力學(xué)特性上,布料具有各向異性、不可壓縮、抗拉不抗彎等一些明顯的特征。布料是柔性物體,容易產(chǎn)生各種褶皺。與剛性物體不同, 布料在外力的作用下會(huì)產(chǎn)生很大的形變,并且用不同材料、不同制造方法制造所得布料的形變也各不相同。由于布料形變的復(fù)雜性,無(wú)法構(gòu)造一個(gè)統(tǒng)一的、能適用各種情況的模型。 主要的困難在于,布料原料及其編織方法各不相同,實(shí)驗(yàn)數(shù)據(jù)的離散性往往較大,不容易構(gòu)造一個(gè)比較統(tǒng)一的力學(xué)模型。自Terzopoulos等人1987年提出第一個(gè)布料仿真模型以來(lái),研究人員做了大量的實(shí)驗(yàn)和研究,獲得了布料在外力作用下形變的各種物理參數(shù),并開發(fā)了一些物理模型描述這些形變,主要有瑞士日內(nèi)瓦大學(xué)Volino等人為代表的參數(shù)化模型、法國(guó)國(guó)立計(jì)算機(jī)及自動(dòng)化研究院ftxwot和韓國(guó)漢城大學(xué)Choi等人為代表的質(zhì)點(diǎn)-彈簧模型等。對(duì)于布料模型在動(dòng)畫中的應(yīng)用,只要求能產(chǎn)生比較真實(shí)的布料動(dòng)畫效果,而對(duì)力學(xué)上的精確性要求不是很高;并且,為了能產(chǎn)生交互性的布料動(dòng)畫,要求模型足夠簡(jiǎn)單。因此,質(zhì)點(diǎn)-彈簧模型因其簡(jiǎn)單而被廣泛采用??估豢箯澨匦允遣剂系年P(guān)鍵特性。根據(jù)該特性,人們很容易區(qū)分可變形物體是否是布料。然而,質(zhì)點(diǎn)-彈簧模型在一定程度上是可以被拉伸的,基于該模型難以逼真地表現(xiàn)布料的抗拉伸特性,從而迫切需要研究無(wú)拉伸布料的仿真方法。仿真無(wú)拉伸特性的布料主要有兩種方案一種是研究能滿足這種特性的模型替代質(zhì)點(diǎn)-彈簧模型,另一種是基于質(zhì)點(diǎn)-彈簧模型的彈簧形變約束方法。已有的研究表明采用別的模型替代質(zhì)點(diǎn)-彈簧模型, 表現(xiàn)布料的無(wú)拉伸特性,會(huì)大大降低布料仿真系統(tǒng)的穩(wěn)定性和效率。因此,許多人選擇了基于質(zhì)點(diǎn)-彈簧模型的彈簧形變約束方法來(lái)表現(xiàn)無(wú)拉伸特性?,F(xiàn)有的約束方法主要包括兩類,一類是基于三角面片的形變約束方法、另一類是基于邊的部分彈簧約束方法。因?yàn)榛谫|(zhì)點(diǎn)-彈簧模型表示的布料,最終都是以三角面片的形式繪制。于是,人們提出了基于三角面片的形變約束方法,約束三角面片各邊的形變。 由于連接質(zhì)點(diǎn)的三角面片的邊的數(shù)量大都大于等于6,若使用嚴(yán)格的基于三角面片的形變約束,質(zhì)點(diǎn)的自由度會(huì)達(dá)到飽和,將導(dǎo)致生硬的仿真布料。因此,基于三角面片的形變約束方法只能仿真允許一定拉伸形變程度的布料,如呢絨等。研究人員發(fā)現(xiàn),布料具有各向異
3性,在某些方向可以在一定程度內(nèi)被拉伸,而在某些方向難以被拉伸,如麻類織物。因此,人們提出了基于邊的部分彈簧約束方法,避免了因約束彈簧數(shù)量過多而導(dǎo)致質(zhì)點(diǎn)的自由度達(dá)到飽和?;谶叺牟糠謴椈杉s束方法約束質(zhì)點(diǎn)-彈簧模型中經(jīng)緯方向的彈簧形變,這與織物的經(jīng)紗和緯紗對(duì)應(yīng),能夠比較逼真地表現(xiàn)布料的無(wú)拉伸特性。自從1995年法國(guó)國(guó)立計(jì)算機(jī)及自動(dòng)化研究院ftxwot首次提出基于高斯賽德爾迭代的部分彈簧約束方法以來(lái),基于邊的部分彈簧約束方法的研究已經(jīng)取得一定發(fā)展。這方面的代表性成果有1998年卡內(nèi)基美隆大學(xué)機(jī)器人學(xué)院David Baraff提出的基于隱式積分的約束方法、2001年丹麥哥本哈根IO Interactive公司的Thomas Jakobsen提出的基于高斯賽德爾迭代的部分彈簧約束方法和2007年美國(guó)哥倫比亞大學(xué)Rony Goldenthal等研究人員提出的基于拉格朗日力學(xué)約束的彈簧形變快速投影方法?;陔[式積分的約束方法會(huì)帶來(lái)額外的阻尼力,使布料看起來(lái)像橡膠;基于高斯賽德爾迭代的約束方法在約束實(shí)施過程中會(huì)引入額外的線動(dòng)量和角動(dòng)量,仿真的布料會(huì)因動(dòng)量不守恒而出現(xiàn)抖動(dòng)現(xiàn)象。
發(fā)明內(nèi)容
為了克服現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種面向無(wú)拉伸布料仿真的質(zhì)點(diǎn)-彈簧模型約束方法。本發(fā)明的目的在于根據(jù)質(zhì)點(diǎn)-彈簧模型的拓?fù)浜徒Y(jié)構(gòu)彈簧的形變量,修正質(zhì)點(diǎn)位置,快速地實(shí)施彈簧形變約束,確保在約束實(shí)施過程中布料的線動(dòng)量和角動(dòng)量守恒, 為高效穩(wěn)定地仿真無(wú)拉伸布料奠定基礎(chǔ)。本發(fā)明采用的技術(shù)方案是一種面向無(wú)拉伸布料仿真的質(zhì)點(diǎn)-彈簧模型約束方法,基于該方法的無(wú)拉伸布料仿真過程包括以下步驟(1)布料及虛擬環(huán)境初始化;(2)質(zhì)點(diǎn)受力分析根據(jù)質(zhì)點(diǎn)-彈簧所處的狀態(tài),分析質(zhì)點(diǎn)所受結(jié)構(gòu)彈簧的拉力、 剪切彈簧的剪切力、彎曲彈簧的彎曲力、空氣阻尼力、布料內(nèi)部阻尼力、重力等;(3)質(zhì)點(diǎn)位置預(yù)測(cè)采用基于位置和加速度的積分方法預(yù)測(cè)質(zhì)點(diǎn)位置;(4)無(wú)拉伸約束實(shí)施利用質(zhì)點(diǎn)-彈簧模型約束方法,修正質(zhì)點(diǎn)位置,實(shí)現(xiàn)彈簧形變約束;(5)布料自碰撞及碰撞處理采用羅伯特提出的魯棒的布料自碰撞及碰撞處理方法實(shí)現(xiàn);(6)布料及虛擬環(huán)境渲染采用OPENGL實(shí)時(shí)渲染和POV-RAY離線渲染兩種方式渲染布料及其環(huán)境;(7)判斷下一個(gè)時(shí)間步是否到達(dá),若是,返回第(2)步驟;若否,則結(jié)束;其中,步驟中所述的質(zhì)點(diǎn)-彈簧模型約束方法的具體步驟如下(Al)根據(jù)單根結(jié)構(gòu)彈簧的形變,計(jì)算兩端點(diǎn)質(zhì)點(diǎn)沿彈簧方向的位置修正量的分量,位置修正量的分量簡(jiǎn)稱為分量;(A2)基于彈簧與質(zhì)點(diǎn)的鄰接關(guān)系,將屬于同一質(zhì)點(diǎn)的分量疊加在一起;(A3)基于質(zhì)點(diǎn)-彈簧模型中結(jié)構(gòu)彈簧的拓?fù)浣Y(jié)構(gòu)、結(jié)構(gòu)彈簧形變、質(zhì)點(diǎn)分量疊加之和,估算最優(yōu)松弛因子;(A4)將分量疊加之和與最優(yōu)松弛因子相乘,結(jié)果作為質(zhì)點(diǎn)的位置修正量;
4
(A5)根據(jù)獲得的質(zhì)點(diǎn)位置修正量更新質(zhì)點(diǎn)位置,實(shí)現(xiàn)彈簧形變修復(fù)。進(jìn)一步的,步驟(Al)中所有質(zhì)點(diǎn)的分量是在同一狀態(tài)下求解的,確保彈簧形變修復(fù)過程中能夠保持布料的線動(dòng)量和角動(dòng)量守恒,使得仿真的布料非常穩(wěn)定。進(jìn)一步的,步驟(A2)中屬于同一質(zhì)點(diǎn)的分量,是根據(jù)連接該質(zhì)點(diǎn)的結(jié)構(gòu)彈簧形變計(jì)算得到的;因此,分量疊加是局部的而非全局的,布料的大多數(shù)細(xì)節(jié)在約束實(shí)施中能夠保持下來(lái),仿真的布料具有大量褶皺。進(jìn)一步的,步驟(A3)所述的基于質(zhì)點(diǎn)-彈簧模型中結(jié)構(gòu)彈簧的拓?fù)浣Y(jié)構(gòu)、結(jié)構(gòu)彈簧形變、質(zhì)點(diǎn)分量疊加之和,估算最優(yōu)松弛因子,具體地說,最優(yōu)松弛因子是由兩個(gè)因素質(zhì)點(diǎn)分量疊加之和的模與結(jié)構(gòu)彈簧形變量總和的比值、質(zhì)點(diǎn)-彈簧中結(jié)構(gòu)彈簧構(gòu)成的四鄰域拓?fù)浣Y(jié)構(gòu),以及這兩個(gè)因素的簡(jiǎn)單組合估計(jì)得到的。進(jìn)一步的,步驟(A4)所述的位置修正量的分量疊加之和與最優(yōu)松弛因子相乘,獲取質(zhì)點(diǎn)的位置修正量,使彈簧形變約束的收斂速度加快,而且估計(jì)獲得的最優(yōu)松弛因子可以重復(fù)應(yīng)用于同一時(shí)間步內(nèi)彈簧形變約束迭代實(shí)施,從而提高彈簧形變約束實(shí)施的效率。本發(fā)明的原理為基于質(zhì)點(diǎn)-彈簧模型的約束方法,將發(fā)生形變的結(jié)構(gòu)彈簧恢復(fù)至其靜態(tài)長(zhǎng)度,其過程包括根據(jù)單根結(jié)構(gòu)彈簧形變量計(jì)算質(zhì)點(diǎn)沿彈簧方向的位置修正量的分量,根據(jù)結(jié)構(gòu)彈簧與質(zhì)點(diǎn)的鄰接關(guān)系、將屬于同一質(zhì)點(diǎn)的位置修正量的分量疊加在一起, 利用質(zhì)點(diǎn)位置修正量的分量疊加之和的模、結(jié)構(gòu)彈簧形變和質(zhì)點(diǎn)-彈簧模型中結(jié)構(gòu)彈簧的拓?fù)浣Y(jié)構(gòu)估算最優(yōu)松弛因子,利用獲得的位置修正量的分量疊加之和與最優(yōu)松弛因子相乘、其結(jié)果作為質(zhì)點(diǎn)的位置修正量,利用獲得的質(zhì)點(diǎn)位置修正量更新質(zhì)點(diǎn)位置、實(shí)現(xiàn)彈簧形變修復(fù)。質(zhì)點(diǎn)-彈簧模型包含三類彈簧彎曲彈簧、剪切彈簧和結(jié)構(gòu)彈簧。彎曲彈簧是為了描述布料的抗彎曲屬性,其受力方向在質(zhì)點(diǎn)所在曲面的法平面外,且彈性系數(shù)一般比較小。 剪切彈簧和結(jié)構(gòu)彈簧的受力方向在質(zhì)點(diǎn)所在曲面的法平面內(nèi)。結(jié)構(gòu)彈簧是為了描述布料沿經(jīng)緯紗線方向的抗拉特性,布料在該方向一般不易被拉伸,因此其彈性系數(shù)一般比較大。剪切彈簧是為了描述布料的抗剪切特性,彈性系數(shù)適中。在大多數(shù)布料中,沿經(jīng)紗線方向和緯紗方向不會(huì)有明顯拉伸現(xiàn)象。另一方面,若剪切彈簧也受彈簧形變約束,由于質(zhì)點(diǎn)自由度過飽和問題,質(zhì)點(diǎn)-彈簧模型仿真的結(jié)果是一塊硬殼,無(wú)法實(shí)現(xiàn)柔軟的布料仿真。因此,本發(fā)明只約束質(zhì)點(diǎn)-彈簧模型的結(jié)構(gòu)彈簧。彈簧的靜態(tài)長(zhǎng)度是指彈簧在不受外力和內(nèi)力的情況下保持的長(zhǎng)度。彎曲彈簧只有在其長(zhǎng)度小于其靜態(tài)長(zhǎng)度是才有力的作用,剪切彈簧和結(jié)構(gòu)彈簧只在其長(zhǎng)度大于其靜態(tài)長(zhǎng)度時(shí)才有力的作用。因此,本發(fā)明中的靜態(tài)長(zhǎng)度是指質(zhì)點(diǎn)-彈簧模型中三類彈簧都不受外力和內(nèi)力的情況下,結(jié)構(gòu)彈簧可以保持的長(zhǎng)度。質(zhì)點(diǎn)位置修正量是根據(jù)質(zhì)點(diǎn)鄰接的所有結(jié)構(gòu)彈簧計(jì)算得到的質(zhì)點(diǎn)位置修正量的分量之和與最優(yōu)松弛因子相乘獲得的。每一個(gè)分量的方向沿著彈簧方向當(dāng)彈簧被壓縮,質(zhì)點(diǎn)位置修正量的分量方向由彈簧中間指向彈簧兩端;當(dāng)彈簧被拉伸,質(zhì)點(diǎn)位置修正量分量的方向由彈簧的兩端指向中間。最優(yōu)松弛因子主要受兩個(gè)因素影響約束彈簧(即結(jié)構(gòu)彈簧)所組成的四鄰域拓?fù)浣Y(jié)構(gòu),質(zhì)點(diǎn)位置修正量分量疊加之和的模與彈簧形變量總和的比值。因此,本發(fā)明中根據(jù)這兩個(gè)因素來(lái)估算最優(yōu)松弛因子。由于最優(yōu)松弛因子求解簡(jiǎn)單、可重用性好,在約束實(shí)施中
5可以大大加快收斂的速度,從而提高無(wú)拉伸布料仿真的效率。本發(fā)明與現(xiàn)有技術(shù)相比的有益效果是1、本發(fā)明中所有質(zhì)點(diǎn)位置修正量的分量是在同一狀態(tài)下求解的、質(zhì)點(diǎn)位置修正量的分量疊加是線性的,能確保在彈簧形變約束與修復(fù)過程中能夠保持布料的線動(dòng)量和角動(dòng)量守恒,相對(duì)以往的可能引起角動(dòng)量不守恒及布料不穩(wěn)定現(xiàn)象的約束方法,本發(fā)明提出的質(zhì)點(diǎn)-彈簧模型約束方法在超約束條件下也能非常穩(wěn)定地仿真布料。2、本發(fā)明提出的質(zhì)點(diǎn)-彈簧模型約束方法可以高效地實(shí)施形變彈簧修復(fù),其高效性得益于簡(jiǎn)單的最優(yōu)松弛因子估算方法、估算獲得的最優(yōu)松弛因子可以重復(fù)應(yīng)用于同一時(shí)間步內(nèi)彈簧形變迭代修復(fù)、以及質(zhì)點(diǎn)-彈簧模型中結(jié)構(gòu)彈簧組成的四鄰域網(wǎng)狀拓?fù)浣Y(jié)構(gòu)。
圖1是本發(fā)明無(wú)拉伸布料仿真的流程圖;圖2是本發(fā)明彈簧形變約束實(shí)施的流程圖;圖3是本發(fā)明最有松弛因子ω和質(zhì)點(diǎn)位置修正量的分量疊加之和的模與結(jié)構(gòu)彈簧形變量總和的比值R的函數(shù)關(guān)系;圖4是本發(fā)明彈簧形變約束實(shí)施實(shí)例圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式
進(jìn)行描述,以便更好地理解本發(fā)明。需要特別提醒注意的是,在以下的描述中,當(dāng)采用已知功能和設(shè)計(jì)的詳細(xì)描述也許會(huì)淡化本發(fā)明的主要內(nèi)容時(shí),這些描述在這里將被忽略。本發(fā)明提出的面向無(wú)拉伸布料仿真的質(zhì)點(diǎn)-彈簧模型約束方法,是在已有的基于質(zhì)點(diǎn)-彈簧模型的布料仿真系統(tǒng)中,增加彈簧形變約束,實(shí)現(xiàn)無(wú)拉伸布料仿真?;谫|(zhì)點(diǎn)-彈簧模型約束方法的無(wú)拉伸布料仿真過程包括初始化、受力分析、質(zhì)點(diǎn)位置預(yù)測(cè)、無(wú)拉伸約束、布料碰撞處理、結(jié)果渲染,如圖1所示。初始化包括布料及其環(huán)境初始化,主要有布料仿真所在的虛擬環(huán)境及對(duì)象,質(zhì)點(diǎn)-彈簧模型中質(zhì)點(diǎn)的位置和速度、質(zhì)點(diǎn)的質(zhì)量、彈簧強(qiáng)度系數(shù)、空氣阻尼系數(shù)、布料內(nèi)部阻尼系數(shù)、重力加速度、仿真時(shí)間步長(zhǎng)等。受力分析包括質(zhì)點(diǎn)-彈簧模型中質(zhì)點(diǎn)的受力分析和布料所受外力分析,具體包含結(jié)構(gòu)彈簧的拉力、剪切彈簧的剪切力、彎曲彈簧的彎曲力、空氣阻尼力、布料內(nèi)部阻尼力、重力等。因?yàn)楸景l(fā)明提出的彈簧形變約束是通過質(zhì)點(diǎn)位置移動(dòng)來(lái)實(shí)現(xiàn)的,因此,采用verlet積分器來(lái)預(yù)測(cè)質(zhì)點(diǎn)在下一個(gè)時(shí)間步的位置,因?yàn)樵摲e分器基于質(zhì)點(diǎn)位置和質(zhì)點(diǎn)受力實(shí)現(xiàn)質(zhì)點(diǎn)位置預(yù)測(cè)。布料碰撞處理是采用羅伯特提出的魯棒的布料自碰撞及碰撞處理方法實(shí)現(xiàn)的。本發(fā)明提出的質(zhì)點(diǎn)-彈簧模型約束方法實(shí)施過程如圖2所示,包括最優(yōu)松弛因子求解、根據(jù)單根結(jié)構(gòu)彈簧計(jì)算質(zhì)點(diǎn)位置修正量的分量、利用最優(yōu)松弛因子和質(zhì)點(diǎn)位置修正量的分量計(jì)算質(zhì)點(diǎn)位置修正量、質(zhì)點(diǎn)位置更新。因?yàn)樽顑?yōu)松弛因子與根據(jù)彈簧形變量、質(zhì)點(diǎn)位置修正量的分量之和及約束彈簧組成的拓?fù)浣Y(jié)構(gòu)有關(guān),下面我們將先介紹如何實(shí)施彈簧形變約束,再介紹最優(yōu)松弛因子的求解。首先考慮單根彈簧形變的約束實(shí)施,建立在單根彈簧上面的約束是為了使該彈簧保持其靜態(tài)長(zhǎng)度,即
6
Cij = IPj-PiI-Iij = 0其中,PpP^是位于彈簧端點(diǎn)質(zhì)點(diǎn)i、j的位置,IPj-Pi I為端點(diǎn)質(zhì)點(diǎn)的歐拉距離,Iij 是彈簧的靜態(tài)長(zhǎng)度。假設(shè)兩質(zhì)點(diǎn)的質(zhì)量分別是Hli和Hlp為修復(fù)形變彈簧,質(zhì)點(diǎn)沿彈簧方向的位置修正量的分量是
權(quán)利要求
1.一種面向無(wú)拉伸布料仿真的質(zhì)點(diǎn)-彈簧模型約束方法,其特征在于基于該方法的無(wú)拉伸布料仿真過程包括以下步驟(1)布料及虛擬環(huán)境初始化;(2)質(zhì)點(diǎn)受力分析根據(jù)質(zhì)點(diǎn)-彈簧所處的狀態(tài),分析質(zhì)點(diǎn)所受結(jié)構(gòu)彈簧的拉力、剪切彈簧的剪切力、彎曲彈簧的彎曲力、空氣阻尼力、布料內(nèi)部阻尼力、重力等;(3)質(zhì)點(diǎn)位置預(yù)測(cè)采用基于位置和加速度的積分方法預(yù)測(cè)質(zhì)點(diǎn)位置;(4)無(wú)拉伸約束實(shí)施利用質(zhì)點(diǎn)-彈簧模型約束方法,修正質(zhì)點(diǎn)位置,實(shí)現(xiàn)彈簧形變約束;(5)布料自碰撞及碰撞處理采用羅伯特提出的魯棒的布料自碰撞及碰撞處理方法實(shí)現(xiàn);(6)布料及虛擬環(huán)境渲染采用OPENGL實(shí)時(shí)渲染和POV-RAY離線渲染兩種方式渲染布料及其環(huán)境;(7)判斷下一個(gè)時(shí)間步是否到達(dá),若是,返回第(2)步驟;若否,則結(jié)束; 其中,步驟中所述的質(zhì)點(diǎn)-彈簧模型約束方法的具體步驟如下(Al)根據(jù)單根結(jié)構(gòu)彈簧的形變,計(jì)算兩端點(diǎn)質(zhì)點(diǎn)沿彈簧方向的位置修正量的分量,位置修正量的分量簡(jiǎn)稱為分量;(A2)基于彈簧與質(zhì)點(diǎn)的鄰接關(guān)系,將屬于同一質(zhì)點(diǎn)的分量疊加在一起; (A3)基于質(zhì)點(diǎn)-彈簧模型中結(jié)構(gòu)彈簧的拓?fù)浣Y(jié)構(gòu)、結(jié)構(gòu)彈簧形變、質(zhì)點(diǎn)分量疊加之和, 估算最優(yōu)松弛因子;(A4)將分量疊加之和與最優(yōu)松弛因子相乘,結(jié)果作為質(zhì)點(diǎn)的位置修正量; (A5)根據(jù)獲得的質(zhì)點(diǎn)位置修正量更新質(zhì)點(diǎn)位置,實(shí)現(xiàn)彈簧形變修復(fù)。
2.根據(jù)權(quán)利要求1所述的一種面向無(wú)拉伸布料仿真的質(zhì)點(diǎn)-彈簧模型約束方法,其特征在于步驟(Al)中所有質(zhì)點(diǎn)的分量是在同一狀態(tài)下求解的,確保彈簧形變修復(fù)過程中能夠保持布料的線動(dòng)量和角動(dòng)量守恒,使得仿真的布料非常穩(wěn)定。
3.根據(jù)權(quán)利要求1所述的一種面向無(wú)拉伸布料仿真的質(zhì)點(diǎn)-彈簧模型約束方法,其特征在于步驟(A2)中屬于同一質(zhì)點(diǎn)的分量,是根據(jù)連接該質(zhì)點(diǎn)的結(jié)構(gòu)彈簧形變計(jì)算得到的;因此,分量疊加是局部的而非全局的,布料的大多數(shù)細(xì)節(jié)在約束實(shí)施中能夠保持下來(lái), 仿真的布料具有大量褶皺。
4.根據(jù)權(quán)利要求1所述的一種面向無(wú)拉伸布料仿真的質(zhì)點(diǎn)-彈簧模型約束方法,其特征在于步驟(A3)所述的基于質(zhì)點(diǎn)-彈簧模型中結(jié)構(gòu)彈簧的拓?fù)浣Y(jié)構(gòu)、結(jié)構(gòu)彈簧形變、質(zhì)點(diǎn)分量疊加之和,估算最優(yōu)松弛因子,具體地說,最優(yōu)松弛因子是由兩個(gè)因素質(zhì)點(diǎn)分量疊加之和的模與結(jié)構(gòu)彈簧形變量總和的比值、質(zhì)點(diǎn)-彈簧模型中結(jié)構(gòu)彈簧構(gòu)成的四鄰域拓?fù)浣Y(jié)構(gòu),以及這兩個(gè)因素的簡(jiǎn)單組合估計(jì)得到的。
5.根據(jù)權(quán)利要求1所述的一種面向無(wú)拉伸布料仿真的質(zhì)點(diǎn)-彈簧模型約束方法,其特征在于步驟(A4)所述的位置修正量的分量疊加之和與最優(yōu)松弛因子相乘,獲取質(zhì)點(diǎn)的位置修正量,使彈簧形變約束的收斂速度加快,而且估計(jì)獲得的最優(yōu)松弛因子可以重復(fù)應(yīng)用于同一時(shí)間步內(nèi)彈簧形變約束迭代實(shí)施,從而提高彈簧形變約束實(shí)施的效率。
全文摘要
本發(fā)明提供一種面向無(wú)拉伸布料仿真的質(zhì)點(diǎn)-彈簧模型約束方法,通過修正質(zhì)點(diǎn)-彈簧模型的質(zhì)點(diǎn)位置,實(shí)現(xiàn)質(zhì)點(diǎn)-彈簧模型中結(jié)構(gòu)彈簧的形變修復(fù),具體包括為加快約束實(shí)施的收斂速度,基于質(zhì)點(diǎn)-彈簧模型中結(jié)構(gòu)彈簧的拓?fù)浣Y(jié)構(gòu)和結(jié)構(gòu)彈簧形變等,給出最優(yōu)松弛因子;根據(jù)單根結(jié)構(gòu)彈簧的形變,計(jì)算兩端點(diǎn)質(zhì)點(diǎn)沿彈簧方向的位置修正量的分量;將屬于同一質(zhì)點(diǎn)的位置修正量的分量進(jìn)行疊加,再將疊加之和與最優(yōu)松弛因子相乘,結(jié)果作為質(zhì)點(diǎn)的位置修正量,然后更新質(zhì)點(diǎn)位置,實(shí)現(xiàn)結(jié)構(gòu)彈簧形變修復(fù)。在約束實(shí)施過程中,能確保布料的線動(dòng)量和角動(dòng)量守恒,能高效穩(wěn)定地仿真無(wú)拉伸布料。本發(fā)明可廣泛地應(yīng)用于影視制作、數(shù)字娛樂等虛擬現(xiàn)實(shí)系統(tǒng)的無(wú)拉伸布料仿真。
文檔編號(hào)G06T19/00GK102324108SQ20111029968
公開日2012年1月18日 申請(qǐng)日期2011年9月30日 優(yōu)先權(quán)日2011年9月30日
發(fā)明者李發(fā)明, 趙沁平, 陳小武 申請(qǐng)人:北京航空航天大學(xué)