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

        ?

        基于質(zhì)點(diǎn)彈簧模型的實(shí)時(shí)布料模擬

        2018-04-26 01:47:06余方姝楊欣
        現(xiàn)代計(jì)算機(jī) 2018年5期
        關(guān)鍵詞:方法模型

        余方姝,楊欣

        (1.四川大學(xué)視覺合成圖形圖像技術(shù)國(guó)防重點(diǎn)學(xué)科實(shí)驗(yàn)室,成都 610065;2.四川大學(xué)計(jì)算機(jī)學(xué)院,成都 610065)

        0 引言

        在虛擬現(xiàn)實(shí)技術(shù)日益發(fā)展的過程中,布料模擬已逐漸成為一個(gè)研究熱點(diǎn),模擬出的布料在電子游戲、影視動(dòng)漫、服裝設(shè)計(jì)等各方面展現(xiàn)了越來越多的應(yīng)用[1]。布料是日常生活中隨處可見的物品,它具有高度的形變特性、延展性、整體性,且具備分布均勻的質(zhì)量。如何在計(jì)算機(jī)中正確模擬出布料的這些物理特性,一直以來都是科學(xué)家們研究的重點(diǎn)。本文將布料模擬過程分成建模和計(jì)算兩個(gè)方面來介紹。

        1 布料建模

        目前,常用的布料模型構(gòu)造方法有以下幾種:

        基于幾何的建模方法:幾何方法不考慮布料根據(jù)動(dòng)力學(xué)表現(xiàn)的運(yùn)動(dòng)特性,采用幾何方程來表現(xiàn)布料褶皺、折疊等幾何效果。該方法計(jì)算開銷小,但無法反映布料彈性,不夠逼真。

        基于物理的建模方法:根據(jù)布料的物理規(guī)律,使用質(zhì)點(diǎn)來對(duì)布料進(jìn)行模擬,將布料的質(zhì)量分散到質(zhì)點(diǎn)上,同時(shí),使用質(zhì)點(diǎn)間的相互作用來模擬布料的物理性質(zhì),有粒子系統(tǒng)和彈簧質(zhì)點(diǎn)模型等方法。

        基于混合特性的建模方法:這種方法結(jié)合了將幾何建模和物理建模結(jié)合,使用幾何方法模擬布料輪廓,然后用物理方法模擬細(xì)節(jié),產(chǎn)生快速而精確的效果,但在真實(shí)性上還是低于物理方法。

        綜合效率和真實(shí)性的考慮,本文采用彈簧質(zhì)點(diǎn)模型進(jìn)行建模。

        1.1 彈簧質(zhì)點(diǎn)模型

        1995年X Provot建立了經(jīng)典的彈簧質(zhì)點(diǎn)模型[2]。模型將一塊布料劃分成m×n的均勻矩形網(wǎng)格,如圖1所示。每個(gè)網(wǎng)格頂點(diǎn)都是一個(gè)虛擬質(zhì)點(diǎn),質(zhì)點(diǎn)有相同質(zhì)量,用來模擬質(zhì)量均勻的布料。每個(gè)質(zhì)點(diǎn)與其周圍質(zhì)點(diǎn)通過無質(zhì)量彈簧相連接。一共有三種性質(zhì)的彈簧:

        連接左右相鄰 [i,j]與[i+1,j]、上下相鄰[i,j]與[i,j+1]的彈簧叫結(jié)構(gòu)彈簧,用來模擬布料橫縱向的力,阻止布料在這兩個(gè)方向過度拉伸形變。

        連接對(duì)角線方向[i,j]與[i+1,j+1]的彈簧叫剪切彈簧,用來模擬布料內(nèi)傾斜方向的力,阻止布料斜方向的過度形變,模擬布料的延展性。

        連接水平豎直方向間隔[i,j]和[i+2,j]、[i,j]和[i,j+2]質(zhì)點(diǎn)的彈簧叫彎曲彈簧,用來模擬布料在被彎曲和折疊時(shí),抵抗彎曲的力。

        圖1 彈簧質(zhì)點(diǎn)模型

        1.2 彈簧質(zhì)點(diǎn)模型受力分析

        在彈簧質(zhì)點(diǎn)模型中,任意質(zhì)點(diǎn)[I,j]在t時(shí)刻的位置是Pi,j(t),力學(xué)方程由其在當(dāng)前位置受到的合力Fi,j(t)決定。根據(jù)牛頓第二定律:

        其中,m(Pi,j)表示當(dāng)前質(zhì)點(diǎn)的質(zhì)量,a(Pi,j)表示當(dāng)前質(zhì)點(diǎn)在t時(shí)刻的加速度。而質(zhì)點(diǎn)所受到的合力Fi,j()t是由質(zhì)點(diǎn)受到的彈簧質(zhì)點(diǎn)模型內(nèi)部的力和外部作用力組成的:

        其中內(nèi)力FInternal是其內(nèi)部的三種彈簧產(chǎn)生。根據(jù)胡克定律,在非過度拉伸情況下彈簧的應(yīng)力和其形變呈線性關(guān)系,公式如下:

        其中Fn表示當(dāng)前彈簧產(chǎn)生的力,k是彈簧的勁度系數(shù),是一個(gè)常數(shù),與彈簧的材質(zhì)相關(guān)。X代表彈簧發(fā)生形變的長(zhǎng)度,即形變后的長(zhǎng)度減去原長(zhǎng)。由此可知,質(zhì)點(diǎn)[I,j]受到的內(nèi)力就是連接它的彈簧產(chǎn)生的彈力的合力:

        同時(shí),質(zhì)點(diǎn)還會(huì)受到外部的作用力,如重力、空氣阻力等:

        其中,重力 Fgravity=m(Pi,j)g,阻力 Fair=-Kavi,j,Ka為空氣阻力系數(shù),vi,j為質(zhì)點(diǎn)速度矢量。

        在對(duì)質(zhì)點(diǎn)進(jìn)行受力分析后,就進(jìn)入對(duì)布料力學(xué)運(yùn)動(dòng)方程的計(jì)算了。

        2 積分方程

        2.1 傳統(tǒng)積分方程簡(jiǎn)介

        顯式歐拉積分是最容易實(shí)現(xiàn)數(shù)值積分的方法之一。假設(shè)不了模型中可劃分成m個(gè)質(zhì)點(diǎn),時(shí)間步長(zhǎng)為h,質(zhì)點(diǎn)的質(zhì)量用對(duì)角矩陣M∈R3m×3m表示,質(zhì)點(diǎn)位置用q表示。任選一個(gè)質(zhì)點(diǎn),在tn時(shí)刻其所在的位置為qn,則 f(qn)為質(zhì)點(diǎn)在tn時(shí)刻受到的力,vn為質(zhì)點(diǎn)在tn時(shí)刻的速度,那么使用顯式積分求解下一刻tn+1的運(yùn)動(dòng)可表示為:

        顯式積分計(jì)算簡(jiǎn)單,但用tn時(shí)刻的速度計(jì)算tn+1時(shí)刻的位置帶來一定的誤差,影響其準(zhǔn)確度。

        隱式歐拉積分是計(jì)算布料運(yùn)動(dòng)常用的積分,可用公式表示為:

        由(8)和(9)兩個(gè)公式可得:

        上式中qn和qn-1是已知量,而此時(shí)要qn+1的值,就需要求解 fn+1的值。

        為了求解這個(gè)經(jīng)典的非線性方程,我們根據(jù)Baraff和Witkin在1998年提出的線性化力的方法[3]:

        假設(shè)用x表示qn+1,然后用y表示2qn-qn-1,x是未知量,而y是已知量,可構(gòu)建出臨界式:

        此時(shí),方程轉(zhuǎn)換成求g(x)最小值的問題。該方法是由Martin在2011年提出的變分法隱式歐拉積分[4]。

        2.2 本文方法

        本文主要思想是使用塊坐標(biāo)下降法通過重新整理模型的能量E來計(jì)算其力學(xué)方程。在布料模擬中,大部分的能量來源于彈性勢(shì)能,其公式為:

        其中,x代表彈簧變化的長(zhǎng)度。此時(shí),對(duì)布料模型而言,其單個(gè)彈簧的彈性勢(shì)能可表示為:

        pi和 pj代表彈簧兩端的質(zhì)點(diǎn),l是彈簧的原長(zhǎng)。

        然后令l=|d|,則:

        則,解彈性勢(shì)能方程轉(zhuǎn)變成最小化問題:

        考慮到場(chǎng)景中有多個(gè)彈簧,而彈簧和質(zhì)點(diǎn)在實(shí)現(xiàn)過程中,會(huì)采用矩陣表示整個(gè)數(shù)據(jù),我們將能量方程更新為矩陣形式:

        其中,s是彈簧的總數(shù),pi1和pi2代表當(dāng)前第i根彈簧兩端的質(zhì)點(diǎn),x是包含全部質(zhì)點(diǎn)的向量,L和J分別代表:

        其中,Ai是彈簧i的入射向量,Ai,i1=1,Ai,i2=-1,其他值為0;Si代表第i個(gè)彈簧;I是單位矩陣。

        然后將其帶入公式(12),可以將上式轉(zhuǎn)換成最優(yōu)化問題:

        其中,b是一個(gè)向量,表示外部力合力產(chǎn)生的慣性,是一個(gè)常量。將上式收斂到最小值所得到的x即時(shí)隱式歐拉積分的解。

        解最小化方程使用的方法是塊坐標(biāo)下降法:首先用預(yù)估位置初始化x的值,然后使用當(dāng)前x的值計(jì)算d,第二步固定d的值,使用計(jì)算出的d值計(jì)算x,重復(fù)該步驟直到達(dá)到最大迭代次數(shù),就能得到下一步質(zhì)點(diǎn)的位置。

        此外,為了對(duì)算法進(jìn)行加速,采用了預(yù)計(jì)算方法處理算式中與過程無關(guān)的量。算式中M+h2L使用質(zhì)量矩陣,時(shí)間步長(zhǎng),彈簧勁度系數(shù)矩陣計(jì)算,而這些值都是固定的,同樣J的計(jì)算也是固定的,這樣就可以在初始化階段計(jì)算出兩組數(shù)據(jù)的值,避免在迭代過程中加入大量的矩陣運(yùn)算,減少計(jì)算開銷。

        3 實(shí)驗(yàn)結(jié)果

        實(shí)驗(yàn)?zāi)M了固定四角平行放置的矩形布料在被放開右側(cè)兩角后,在空中飄動(dòng),然后在空氣阻力作用下恢復(fù)靜止?fàn)顟B(tài)的效果。如圖2,展示了布料物理規(guī)律下的運(yùn)動(dòng)過程,布料在被解開兩角后,自然墜落,左右飄動(dòng),效果真實(shí)。圖3展示了布料模擬的細(xì)節(jié),圖中可以清晰看到布料產(chǎn)生的褶皺和彎曲現(xiàn)象,與真實(shí)布料效果相似。在滿足真實(shí)感的同時(shí),布料的幀率為300-400幀,此時(shí)模型的三角面片為1k能達(dá)到能夠達(dá)到實(shí)時(shí)渲染效果。當(dāng)布料三面片個(gè)數(shù)達(dá)到10k時(shí),如圖4所示,布料細(xì)節(jié)更明顯,更具真實(shí)感的同時(shí),幀率同樣達(dá)到實(shí)時(shí)渲染要求。

        圖2 布料運(yùn)動(dòng)過程

        圖3 布料模擬細(xì)節(jié)及幀率

        圖4 布料模擬細(xì)節(jié)(三角面片數(shù)10k)

        4 結(jié)語

        本文的布料模擬方法采用預(yù)計(jì)算處理彈簧質(zhì)點(diǎn)模型數(shù)據(jù),使用塊坐標(biāo)下降法計(jì)算隱式積分,對(duì)彈簧質(zhì)點(diǎn)模型位置進(jìn)行預(yù)測(cè),在兼顧真實(shí)感的同時(shí),對(duì)繪制效率也有較好的提升,能夠被運(yùn)用于電子游戲、影動(dòng)畫產(chǎn)業(yè)中。但同時(shí),本文未對(duì)布料碰撞進(jìn)行研究,包括布料自碰撞和布料和物體間的碰撞進(jìn)行研究,包括布料自碰撞和布料和物體間的碰撞,需要在接下來的工作中進(jìn)行研究和完善。

        參考文獻(xiàn):

        [1]陳輝,沈毅.關(guān)于織物仿真技術(shù)的綜述[J].絲綢,2005(8).

        [2]Xavier Provot.Deformation Constraints in a Mass-Spring Model to Describe Rigid Clothbehavior[C].In Proceedings of Graphics Interface,Quebec:Canadian Information Processing Society,1995,12(6):147-154.

        [3]D Baraff,A Witkin.Large Steps in Cloth Simulation[J].Conference on Computer Graphics&Interactive Techniques,1998:43-54.

        [4]S Martin,B Thomaszewski,E Grinspun,M Gross.Example-Based Elastic Materials[J].In Acm Siggraph,2011,30(4):1-8.

        猜你喜歡
        方法模型
        一半模型
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        學(xué)習(xí)方法
        可能是方法不對(duì)
        3D打印中的模型分割與打包
        用對(duì)方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
        四大方法 教你不再“坐以待病”!
        Coco薇(2015年1期)2015-08-13 02:47:34
        賺錢方法
        亚洲av熟女少妇一区二区三区| 国产日本在线视频| 国产精品久久无码不卡黑寡妇 | 无码视频在线观看| 蜜桃av噜噜一区二区三区9| 一二三四五区av蜜桃| 日本天堂免费观看| 一区二区三区乱码在线 | 欧洲| 久久久天堂国产精品女人| 成在人线av无码免费| 国产精品短视频| 91日本在线精品高清观看| 亚洲一区二区女优av| 99麻豆久久精品一区二区| 日本一区二区视频在线| 中文字幕av伊人av无码av| 国产69精品久久久久777| 国产精品久久久久久久免费看| 久久免费看少妇高潮v片特黄| 国产精品久久久久…| 亚洲一区二区成人在线视频| 亚洲成人免费久久av| 亚洲日本高清一区二区| 国产亚洲精品熟女国产成人| 久久久久亚洲av片无码| 狠狠色噜噜狠狠狠狠米奇777| 免费人成年小说在线观看| 青青青国产免A在线观看| 久久精品国产白丝爆白浆| 中文字幕一区二区综合| 午夜精品久久久久久久久| 亚洲成av人片在线观看www| 亚洲色欲久久久久综合网| 99热这里只有精品4| 亚洲精品一区二区三区播放| 国产超碰在线91观看| 亚洲色图视频在线免费看| 国产精品毛片一区二区三区| 99精品热这里只有精品| 亚洲婷婷丁香激情| 国产自拍精品在线视频|