穿著物分層方法及其系統(tǒng)、分層穿著物模擬方法及其系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及一種穿著物的分層方法及其系統(tǒng),特別涉及一種分層穿著物的模擬方法及其系統(tǒng)。
【背景技術(shù)】
[0002]公開號為CN101785033A的“疊穿的模擬裝置和模擬方法”發(fā)明專利主要用于兩件衣服穿著時,對兩件衣服分成兩層,當(dāng)兩層衣服重疊時,將外層的衣服向外彈出。對彈出的衣服進(jìn)行平滑化,之后進(jìn)行模擬。
[0003]但是該方法只能將設(shè)計(jì)制作完成的成衣(即制作完成的衣服)模擬套穿在人體模型上,衣服的尺碼、款式是既定的,人體模型也是標(biāo)準(zhǔn)的,無法實(shí)現(xiàn)不同尺碼、款式、復(fù)雜衣服穿在不同體型的人體模型上的真實(shí)模擬效果,且穿著模擬效率低,當(dāng)人體模型運(yùn)動時也無法實(shí)時模擬人體模型的穿著效果。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明的目的在于提供一種能提高模擬效率的穿著物分層方法及其系統(tǒng)。
[0005]本發(fā)明的目的在于提供一種能提高模擬效率的分層穿著物模擬方法及其系統(tǒng)。
[0006]為了達(dá)成上述目的,本發(fā)明的解決方案是:
[0007]一種穿著物分層方法,通過以下步驟實(shí)現(xiàn):
[0008]a、分片:建立若干片網(wǎng)格衣片模型;
[0009]b、分層:按若干片衣片模型所縫制的穿著物與網(wǎng)格套穿模型的近身關(guān)系,將若干片衣片模型由里至外分成若干層級;
[0010]C、縫制:將若干片衣片模型縫制成穿著物模型,在縫合拉力和碰撞力的作用下穿著物模型按與套穿模型的近身關(guān)系穿在套穿模型上。
[0011]一種穿著物分層系統(tǒng),采用如前所述方法實(shí)現(xiàn),包括:
[0012]a、分片模塊:建立若干片網(wǎng)格衣片模型;
[0013]b、分層模塊:按若干片衣片模型所縫制的穿著物與網(wǎng)格套穿模型的近身關(guān)系,將若干片衣片模型由里至外分成若干層級;
[0014]C、縫制模塊:將若干片衣片模型縫制成穿著物模型,在縫合拉力和碰撞力的作用下穿著物模型按與套穿模型的近身關(guān)系穿在套穿模型上。
[0015]一種分層穿著物模擬方法,通過以下步驟實(shí)現(xiàn):
[0016]若干片衣片模型包圍盒根據(jù)其與套穿模型的近身關(guān)系穿在套穿模型上;設(shè)定時間步長T,對第I個時間步長T的碰撞進(jìn)行響應(yīng):
[0017]對當(dāng)前位置Current P衣片模型包圍盒和套穿模型的碰撞進(jìn)行響應(yīng),將當(dāng)前衣片模型網(wǎng)格上的碰撞點(diǎn)沿著套穿模型的碰撞三角形的法線移到模型外,并設(shè)定該碰撞點(diǎn)為不動點(diǎn);
[0018]對下一個時間點(diǎn)的衣片模型包圍盒三角形和套穿模型三角形的碰撞進(jìn)行響應(yīng),將該衣片模型上的碰撞三角形添加碰撞力;
[0019]對下一個時間點(diǎn)的衣片模型之間的碰撞進(jìn)行響應(yīng),設(shè)定內(nèi)層的衣片模型包圍盒上的碰撞點(diǎn)不動,由里向外逐層計(jì)算外層衣片模型包圍盒上的碰撞三角形的三個點(diǎn)和內(nèi)層的碰撞三角形索引的相對位置,改變外層衣片包圍盒上的碰撞點(diǎn)的速度V,使得碰撞點(diǎn)在下一個時間點(diǎn)運(yùn)動到套穿模型外;該速度V根據(jù)在時間步長T從當(dāng)前位置運(yùn)動到下一個時間點(diǎn)的位置求得;
[0020]如此往復(fù)計(jì)算各時間步長T的碰撞,從而獲得若干衣片模型包圍盒在最終貼合套穿模型的位置Candida P。
[0021]一種分層穿著物模擬方法,通過以下步驟實(shí)現(xiàn):
[0022]a、分片:網(wǎng)格套穿模型上穿著的網(wǎng)格穿著物模型包括對應(yīng)縫合的若干片網(wǎng)格衣片豐旲型;
[0023]b、分層:根據(jù)若干片衣片模型與套穿模型的近身關(guān)系,將若干片衣片模型由里至外分成若干層級;
[0024]C、運(yùn)動模擬:
[0025]設(shè)定若干片衣片模型的對應(yīng)縫合點(diǎn)保持重疊的彈簧力;
[0026]根據(jù)各衣片模型的力的平衡公式,通過共軛梯度算法求得各衣片模型在時間步長T從當(dāng)前位置運(yùn)動到下一個時間點(diǎn)的位置,進(jìn)而求得衣片模型的網(wǎng)格點(diǎn)的運(yùn)動速度V ;且根據(jù)衣片模型下一個時間位置建立下一個時間點(diǎn)的衣片模型包圍盒;
[0027]當(dāng)前衣片模型包圍盒和套穿模型碰撞,分別獲得當(dāng)前位置Current P衣片模型包圍盒的網(wǎng)格點(diǎn)和套穿模型的碰撞,記錄碰撞點(diǎn)索引Pi和碰撞三角形索引Tl;獲得下一個時間位置Candidate P衣片模型包圍盒三角形和套穿模型三角形的碰撞,記錄碰撞三角形索引T2,T3 ;獲得下一個時間位置CandidateP若干片衣片模型包圍盒之間的碰撞點(diǎn),記錄碰撞三角形索引T4,T5 ;
[0028]對當(dāng)前位置Current P衣片模型包圍盒和套穿模型的碰撞進(jìn)行響應(yīng),將當(dāng)前衣片模型網(wǎng)格上的碰撞點(diǎn)沿著套穿模型的碰撞三角形的法線移到模型外,并設(shè)定該碰撞點(diǎn)為不動點(diǎn);
[0029]對下一個時間點(diǎn)的衣片模型包圍盒三角形和套穿模型三角形的碰撞進(jìn)行響應(yīng),將下一個時間點(diǎn)位置的衣片模型上的碰撞三角形添加碰撞力;
[0030]對下一個時間點(diǎn)的衣片模型之間的碰撞進(jìn)行響應(yīng),設(shè)定內(nèi)層的衣片模型包圍盒上的碰撞點(diǎn)不動,由里向外逐層計(jì)算外層衣片模型包圍盒上的碰撞三角形的三個點(diǎn)和內(nèi)層的碰撞三角形索引的相對位置,改變外層衣片包圍盒上的碰撞點(diǎn)的速度V,使得碰撞點(diǎn)在下一個時間點(diǎn)運(yùn)動到套穿模型外;
[0031]如此往復(fù)計(jì)算從而獲得若干衣片模型包圍盒在最終貼合套穿模型的位置CandidaP。
[0032]根據(jù)縫制痕跡將網(wǎng)格穿著物模型分成若干片網(wǎng)格衣片模型。
[0033]所述力的平衡公式根據(jù)彈簧力、摩擦力、重力和碰撞力計(jì)算。
[0034]將當(dāng)前衣片模型網(wǎng)格上的碰撞點(diǎn)添加摩擦力,摩擦力根據(jù)公式F = μ XFn求解,并設(shè)定衣片模型發(fā)生碰撞的點(diǎn)為不動點(diǎn)。
[0035]所述運(yùn)動速度V =(下一個時間點(diǎn)位置Candida P-當(dāng)前位置Current P) /時間步長T。
[0036]對所述當(dāng)前衣片模型包圍盒和套穿模型包圍盒的碰撞進(jìn)行響應(yīng);或者所述往復(fù)計(jì)算之前,渲染衣片模型,設(shè)定各衣片模型上的對應(yīng)縫合點(diǎn)縫合在一起,且縫合點(diǎn)的最終位置設(shè)定為兩點(diǎn)連線的中點(diǎn)。
[0037]一種分層穿著物模擬系統(tǒng),采用如前所述方法實(shí)現(xiàn),包括:
[0038]a、分片模型:網(wǎng)格套穿模型上穿著的網(wǎng)格穿著物模型包括對應(yīng)縫合的若干片網(wǎng)格衣片模型;
[0039]b、分層模型:根據(jù)若干片衣片模型與套穿模型的近身關(guān)系,將若干片衣片模型由里至外分成若干層級;
[0040]C、運(yùn)動模擬模型:
[0041]設(shè)定若干片衣片模型的對應(yīng)縫合點(diǎn)保持重疊的彈簧力;
[0042]根據(jù)各衣片模型的力的平衡公式,通過共軛梯度算法求得各衣片模型在時間步長T從當(dāng)前位置運(yùn)動到下一個時間點(diǎn)的位置,進(jìn)而求得衣片模型的網(wǎng)格點(diǎn)的運(yùn)動速度V ;且根據(jù)衣片模型下一個時間位置建立下一個時間點(diǎn)的衣片模型包圍盒;
[0043]當(dāng)前衣片模型包圍盒和套穿模型碰撞,分別獲得當(dāng)前位置Current P衣片模型包圍盒的網(wǎng)格點(diǎn)和套穿模型的碰撞,記錄碰撞點(diǎn)索引Pi和碰撞三角形索引Tl;獲得下一個時間位置Candidate P衣片模型包圍盒三角形和套穿模型三角形的碰撞,記錄碰撞三角形索引T2,T3 ;獲得下一個時間位置CandidateP若干片衣片模型包圍盒之間的碰撞點(diǎn),記錄碰撞三角形索引T4,T5 ;
[0044]對當(dāng)前位置Current P衣片模型包圍盒和套穿模型的碰撞進(jìn)行響應(yīng),將當(dāng)前衣片模型網(wǎng)格上的碰撞點(diǎn)沿著套穿模型的碰撞三角形的法線移到模型外,并設(shè)定該碰撞點(diǎn)為不動點(diǎn);
[0045]對下一個時間點(diǎn)的衣片模型包圍盒三角形和套穿模型三角形的碰撞進(jìn)行響應(yīng),將下一個時間點(diǎn)位置的衣片模型上的碰撞三角形添加碰撞力;
[0046]對下一個時間點(diǎn)的衣片模型之間的碰撞進(jìn)行響應(yīng),設(shè)定內(nèi)層的衣片模型包圍盒上的碰撞點(diǎn)不動,由里向外逐層計(jì)算外層衣片模型包圍盒上的碰撞三角形的三個點(diǎn)和內(nèi)層的碰撞三角形索引的相對位置,改變外層衣片包圍盒上的碰撞點(diǎn)的速度V,使得碰撞點(diǎn)在下一個時間點(diǎn)運(yùn)動到套穿模型外;
[0047]如此往復(fù)計(jì)算從而獲得若干衣片模型包圍盒在最終貼合套穿模型的