• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      同一場景中異質(zhì)布料的動(dòng)態(tài)繪制

      2019-01-24 08:26:48安陽陽劉宇涵任小霞賈江凱
      關(guān)鍵詞:質(zhì)點(diǎn)布料異質(zhì)

      唐 勇,安陽陽,張 豆,劉宇涵,任小霞,賈江凱

      1(燕山大學(xué) 信息科學(xué)與工程學(xué)院,河北 秦皇島 066004)2(河北省計(jì)算機(jī)虛擬技術(shù)與系統(tǒng)集成重點(diǎn)實(shí)驗(yàn)室,河北 秦皇島 066004)

      1 引 言

      隨著人們生活水平的不斷提高,衣著品味越來越不同,搭配也就變得越來越重要.搭配不僅需要顏色上的混合,還要配合不同的材質(zhì)才能表現(xiàn)出的豐富形態(tài).由于異質(zhì)布料的屬性不同,運(yùn)動(dòng)過程中會(huì)表現(xiàn)出不同的姿態(tài),使得在同一場景中動(dòng)態(tài)繪制異質(zhì)布料變得非常困難.

      布料的材質(zhì)模擬一直是計(jì)算機(jī)圖形學(xué)研究的重要內(nèi)容.1997年法國國家信息與自動(dòng)化研究所Provot等人,用剪切彈簧、彎曲彈簧和結(jié)構(gòu)彈簧模擬布料質(zhì)點(diǎn)的受力[1],通過調(diào)節(jié)彈簧系數(shù)來模擬不同材質(zhì)的布料,但彈簧力的變化是非線性的,會(huì)發(fā)生超彈現(xiàn)象;2012年NVIDIA的PhysX研究小組的Tae-Yong Kim等人,提出了一種LRAs(Long Range Attachments)模型[2],通過將布料所有質(zhì)點(diǎn)直接與固定點(diǎn)相連的方法,有效解決了布料的超彈現(xiàn)象,但缺乏對自由質(zhì)點(diǎn)的控制.2007年Müller等人,提出一種基于位置的運(yùn)動(dòng)學(xué)模擬方法(PBD-Position Based Dynamics)[3],將布料的屬性抽象為約束模型,通過約束投影的方法直接修改布料質(zhì)點(diǎn)的位置.德國亞琛大學(xué)的Jan Bender教授和NVIDIA 的Müller等人,對PBD做過綜述性的介紹[4],由于其通用性、簡便性和魯棒性,現(xiàn)已經(jīng)應(yīng)用到Maya、PhysX引擎、Havok引擎、Bullet引擎,還普及到了電影和醫(yī)療仿真等領(lǐng)域,包括有柔體、可變性物體、流體和毛發(fā)等模擬.2015年,王華民提出了切比雪夫多項(xiàng)式加快PBD約束投影計(jì)算的方法[5],是目前為止最快的基于CPU運(yùn)算的方法.Macklin等人在2016年提出XPBD[6],將能量的概念引入PBD中,通過立即修改約束方程的拉格朗日乘子,而不是將其拋出待到所有約束迭代結(jié)束后再計(jì)算的方法,有效的解決了PBD長期存在的約束剛度依賴迭代次數(shù)問題.2016年NVIDIA的Chentanez等人在PBD的基礎(chǔ)上,采用Shape Matching方法[7]實(shí)時(shí)模擬了彈塑性材料物體的形變.2017年賓夕法尼亞大學(xué)的劉天天等人,將投影運(yùn)動(dòng)學(xué)方法(Projective Dynamics)推導(dǎo)為準(zhǔn)牛頓問題,使用L-BFGS來近似Hessian矩陣[8],實(shí)時(shí)模擬超彈性材質(zhì).同樣來自賓夕法尼亞大學(xué)的蔣陳凡夫等人,也模擬了非常豐富的各向異性的彈塑性布料[9].但是,上述方法僅適用于同一場景中的同質(zhì)布料的模擬,而異質(zhì)布料的繪制不僅需要保證同一布料不同約束間的獨(dú)立性,還要確保不同布料間的獨(dú)立性.同時(shí),統(tǒng)一設(shè)定約束迭代次數(shù)又會(huì)造成計(jì)算資源的不合理分配.

      針對上述問題,提出一種動(dòng)態(tài)繪制異質(zhì)布料的方法.首先,引入自由質(zhì)點(diǎn)約束因子改進(jìn)PBD中的LRAs模型,通過屬性約束構(gòu)建異質(zhì)布料模型;在XPBD的基礎(chǔ)上,根據(jù)場景中約束重要性的不同設(shè)置不同的迭代次數(shù),以獨(dú)立迭代的方式計(jì)算各約束,保證不同布料的迭代獨(dú)立,合理分配計(jì)算資源;并用Jacobi方法替代Gauss-Seidel方法,以并行的方式計(jì)算影響質(zhì)點(diǎn)的約束,提高解算器計(jì)算速度.

      2 構(gòu)建異質(zhì)布料

      布料材質(zhì)不同是由屬性不同引起的,可以通過調(diào)節(jié)屬性來繪制異質(zhì)布料.本文根據(jù)布料屬性建立不同的屬性約束模型,通過屬性約束構(gòu)建異質(zhì)布料模型.

      圖1 LRAs模型Fig.1 LRAs model

      LRAs[4]通過限制附著點(diǎn)與自由質(zhì)點(diǎn)的距離來解決超彈問題.如圖1,深色點(diǎn)為固定點(diǎn),空心點(diǎn)為自由質(zhì)點(diǎn).在布料運(yùn)動(dòng)過程中,初始狀態(tài)為path0,以固定點(diǎn)為中心,以與自由質(zhì)點(diǎn)的距離為半徑,在半徑范圍內(nèi)自由移動(dòng),如果超出范圍則修改質(zhì)點(diǎn)的位置,如path1灰色點(diǎn)為修正的位置.

      但是在滿足LRAs條件下,自由質(zhì)點(diǎn)間也會(huì)產(chǎn)生過度拉伸,如左下方path2所指線段,距離遠(yuǎn)大于初始距離,效果如圖2(b).為此添加自由質(zhì)點(diǎn)約束因子,避免自由質(zhì)點(diǎn)間的距離過長.

      Cfixed(pj,pfixed)=|pj-pfixed|-lj-fixed·l

      (1)

      Cadj(pj,pj-adj)=|pj-pj-adj|-lj-adj·l

      (2)

      方程(1)為LRAs的約束方程,Pj為自由質(zhì)點(diǎn),Pfixed為固定點(diǎn),lj-fixed為自由質(zhì)點(diǎn)與固定點(diǎn)的初始距離.方程(2)是自由質(zhì)點(diǎn)與相鄰質(zhì)點(diǎn)的約束因子方程,Pj-adj(≠Pfixed)是自由質(zhì)點(diǎn)相鄰的節(jié)點(diǎn),lj-adj為自由質(zhì)點(diǎn)間的初始距離.其中l(wèi)為拉伸系數(shù).在計(jì)算過程中不斷修改質(zhì)點(diǎn)的位置,使其同時(shí)滿足上述兩個(gè)約束方程.

      圖2所示,(a)為文獻(xiàn)[2]中采用LRAs方法繪制的布料,(b)為未解決的超彈問題,(c)改進(jìn)后繪制的布料.通過拉伸系數(shù)l的調(diào)節(jié)可以繪制出不同彈性的布料,如(d)、(e)、(f).

      圖2 改進(jìn)的LRAs解決布料超彈Fig.2 Improved LRAs model to solve the super bombs

      除此之外,還要?jiǎng)?chuàng)建彎曲、碰撞、重力、摩擦等約束.最終,通過布料屬性構(gòu)建的約束模型構(gòu)建異質(zhì)布料模型.

      3 異質(zhì)布料求解

      在對異質(zhì)布料求解過程中,除了解決約束剛度與迭代次數(shù)的依賴關(guān)系,即在求解過程中保證同一布料約束間互不干擾,還要保證不同布料間屬性調(diào)節(jié)的獨(dú)立性,比如需要對不同布料的拉伸系數(shù)或彎曲系數(shù)等進(jìn)行不同參數(shù)設(shè)定.

      3.1 獨(dú)立迭代

      文獻(xiàn)[3,6]對各個(gè)不同的屬性約束設(shè)定統(tǒng)一的迭代次數(shù),但不同的場景約束屬性的迭代要求是有區(qū)別的.比如碰撞時(shí),為避免穿透需要對碰撞約束設(shè)置更高的迭代次數(shù),以實(shí)現(xiàn)精確碰撞,而對拉伸和彎曲約束要求就低一些;再如為了繪制懸垂布料,需要對拉伸和彎曲約束迭代多次,碰撞約束基本不用考慮.

      為此,對場景中不同布料的各種約束進(jìn)行獨(dú)立迭代計(jì)算,設(shè)計(jì)了算法1,其中第4-12行完成每種屬性約束迭代計(jì)算,通過調(diào)節(jié)第5行中的屬性約束迭代次數(shù),實(shí)現(xiàn)異質(zhì)布料在同一場景中的快速繪制.

      (3)

      其中ni為質(zhì)點(diǎn)i的約束數(shù)量,ω[1,2]為外部可設(shè)置的全局變量,用于控制過度松弛速率.通過Jacobi方式并行迭代計(jì)算各個(gè)屬性約束,加快異質(zhì)布料的繪制速度.

      3.2 調(diào)節(jié)因子

      為了繪制異質(zhì)布料,為每個(gè)約束模型添加一個(gè)調(diào)節(jié)因子.設(shè)拉伸因子為l[1,2],抗彎曲因子為k[0,0.1],摩擦因子為μ[0,1],異質(zhì)布料的繪制就通過控制各類調(diào)節(jié)因子實(shí)現(xiàn),最終約束模型擴(kuò)展為C(x,e).質(zhì)點(diǎn)的位置變化公式為:

      (4)

      其中e為不同屬性的調(diào)節(jié)因子l,k,μ.

      算法1.simulation loop

      3:initialize multipliersλ0?0

      4:for all constraints do

      5: whilei< solverIterations do

      6: computeΔλ

      7: computeΔX

      8: updateλi+1?λi+Δλ

      9: updateXi+1?Xi+ΔX

      10:i?i+1

      11: end while

      12:end for

      14:update positionsXn+1?Xi

      4 實(shí)驗(yàn)結(jié)果與分析

      為了驗(yàn)證異質(zhì)布料繪制方法的有效性,以C++為主,配合使用C#和JavaScript,結(jié)合Unity物理引擎開發(fā)平臺建立了異質(zhì)布料仿真實(shí)驗(yàn)系統(tǒng),并在不同操作系統(tǒng)和硬件條件下進(jìn)行了多項(xiàng)對比實(shí)驗(yàn).

      圖3為通過調(diào)整拉伸系數(shù)l、彎曲系數(shù)k和摩擦系數(shù)μ,在同一場景中繪制出粗麻、絲綢、織錦、條絨和粗布等5種異質(zhì)布料,并且將這5種材質(zhì)布料與小球進(jìn)行碰撞.從圖中可以看出,通過添加的屬性約束調(diào)節(jié)因子,有效地繪制出同一場景中的異質(zhì)布料.

      圖3 本文方法構(gòu)建的異質(zhì)布料Fig.3 This paper constructs heterogeneous fabrics

      圖3中每種布料包含6.1k個(gè)頂點(diǎn)、10.7k個(gè)三角形,5種布料碰撞過程中每一幀繪制所花費(fèi)的時(shí)長如圖4,其中x軸是幀數(shù),y軸是時(shí)間(ms),z軸為5中不同材質(zhì)布料.圖4所示異質(zhì)布料因?qū)傩约s束不同所耗費(fèi)的時(shí)間是有差異的.

      圖4 異質(zhì)布料碰撞曲線Fig.4 Heterogeneous fabric collision curve

      圖5為文獻(xiàn)[3]和文獻(xiàn)[6]的GS+統(tǒng)一迭代、本文的GS+獨(dú)立迭代、文獻(xiàn)[4]的Jacobi+統(tǒng)一迭代和本文的Jacobi+獨(dú)立迭代四種方法在繪制時(shí)間上的對比結(jié)果.統(tǒng)一迭代中將所有約束迭代次數(shù)設(shè)置為8,在碰撞處理占主要計(jì)算負(fù)荷的場景中,獨(dú)立迭代中只將碰撞約束次數(shù)設(shè)置成8,而其它約束次數(shù)設(shè)置為2.從圖6中可以看出在視覺效果相似的情況下,無論是對GS還是Jacobi,獨(dú)立迭代方式的計(jì)算都明顯快于統(tǒng)一迭代方式,而且本文方法(Jacobi+獨(dú)立迭代)速度最快.

      圖5 本文方法與文獻(xiàn)[3,4,6]方法時(shí)間對比Fig.5 Compared with the results of[3,4,6]

      如圖6所示,采用本文方法(Jacobi+獨(dú)立迭代)對異質(zhì)布料間的碰撞進(jìn)行繪制,并與文獻(xiàn)[10]對比,從圖中可以看出相比于同質(zhì)布料的碰撞,異質(zhì)布料的碰撞能表現(xiàn)出更豐富的姿態(tài).并對圖6(b)中異質(zhì)布料的碰撞進(jìn)行了不同平臺的測試,見表1,硬件和操作系統(tǒng)的不同會(huì)對繪制的速度造成影響.

      圖6 本文方法與文獻(xiàn)[3][4][6]方法效果對比Fig.6 Compared with the results of[3][4][6]

      由以上對比實(shí)驗(yàn)可以看出,本文方法能夠建立異質(zhì)布料的獨(dú)立約束模型,通過并行方式配合獨(dú)立迭代方法加快求解速度,快速地繪制出同一場景運(yùn)動(dòng)過程中的異質(zhì)布料.

      5 結(jié) 論

      本文提出了一種快速繪制運(yùn)動(dòng)過程中異質(zhì)布料的方法.其中,引入自由質(zhì)點(diǎn)約束因子改進(jìn)LRAs模型,通過屬性約束構(gòu)建異質(zhì)布料模型;在XPBD解決剛度依賴迭代次數(shù)的基礎(chǔ)上, 設(shè)計(jì)獨(dú)立迭代計(jì)算方法, 在保證同一布料不同屬性間互不干擾的同時(shí), 根據(jù)場景需求不同, 設(shè)置不同的迭代次數(shù), 優(yōu)化計(jì)算資源分配; 采用Jacobi方法, 對異質(zhì)布料以并行方式進(jìn)行計(jì)算, 加快了方程求解速度. 今后我們將對異質(zhì)布料在GPU上的并行繪制進(jìn)行研究, 來進(jìn)一步提高異質(zhì)布料的繪制速度.

      表1 不同平臺下三種異質(zhì)布料碰撞
      Table 1 Different heterogeneous fabric collisions on different platforms

      系統(tǒng)CPUGPU網(wǎng)格分辨率幀速率(ms/幀)win10i7-4790 3.6GHz 8GGT 630 2G 700MHz129.6k393.9win10FX9590 4.72GHz 16GR9 290X 8G 1000MHz三角形582.5OS Xi5-6600 3.2GHz 8GR9 M390 2G 1000MHz66.9k270win8i7-5820k 3.3GHz 16GGTX1070 8G 1632MHz頂點(diǎn)326.2

      圖7 異質(zhì)布料碰撞Fig.7 Heterogeneous fabric collision

      猜你喜歡
      質(zhì)點(diǎn)布料異質(zhì)
      用布料拼圖形
      巧用“搬運(yùn)法”解決連續(xù)質(zhì)點(diǎn)模型的做功問題
      燒結(jié)機(jī)布料器的改進(jìn)優(yōu)化
      山東冶金(2019年5期)2019-11-16 09:09:36
      質(zhì)點(diǎn)的直線運(yùn)動(dòng)
      質(zhì)點(diǎn)的直線運(yùn)動(dòng)
      隨機(jī)與異質(zhì)網(wǎng)絡(luò)共存的SIS傳染病模型的定性分析
      按約定付賬
      愛你(2015年2期)2015-11-14 22:43:29
      Ag2CO3/Ag2O異質(zhì)p-n結(jié)光催化劑的制備及其可見光光催化性能
      MoS2/ZnO異質(zhì)結(jié)的光電特性
      高爐重量布料準(zhǔn)確度的提高
      天津冶金(2014年4期)2014-02-28 16:52:58
      华宁县| 赞皇县| 甘南县| 田林县| 荔波县| 大安市| 盐边县| 无极县| 互助| 鹤岗市| 江源县| 河北区| 鄂伦春自治旗| 婺源县| 江门市| 陇南市| 千阳县| 麦盖提县| 汽车| 延川县| 福贡县| 石渠县| 巫溪县| 柳州市| 峨眉山市| 韶关市| 广水市| 耒阳市| 光山县| 名山县| 新干县| 阳曲县| 嘉荫县| 积石山| 来安县| 民和| 阜阳市| 来宾市| 柘城县| 长宁区| 双桥区|