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

        ?

        一種基于OpenGL頂點(diǎn)處理機(jī)制的織物交互仿真方法

        2016-02-09 09:28:26李東輝
        關(guān)鍵詞:人體模型質(zhì)點(diǎn)布料

        李東輝,侯 進(jìn),黃 聰

        (西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院,成都611756)

        一種基于OpenGL頂點(diǎn)處理機(jī)制的織物交互仿真方法

        李東輝,侯 進(jìn),黃 聰

        (西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院,成都611756)

        在生活中織物是作為人的附屬品而存在的,傳統(tǒng)織物仿真過程中對(duì)人與織物的交互性研究很少。針對(duì)這種情況,提出了一種基于OpenGL(open graphics library)頂點(diǎn)處理機(jī)制的織物仿真方法。首先建立基于質(zhì)點(diǎn)-彈簧的織物仿真模型,包括布料和服裝兩種,然后對(duì)織物進(jìn)行受力分析并對(duì)力學(xué)方程采用顯式歐拉法求解,之后利用OpenGL的頂點(diǎn)處理機(jī)制將鼠標(biāo)客戶區(qū)坐標(biāo)映射到織物質(zhì)點(diǎn)上,最后進(jìn)行碰撞檢測(cè)得到受客戶區(qū)坐標(biāo)約束的織物交互效果。實(shí)驗(yàn)結(jié)果表明:該方法能夠逼真地模擬出織物受人為干預(yù)時(shí)的物理效果,同時(shí)具有較好的實(shí)時(shí)性和真實(shí)性。

        織物仿真;質(zhì)點(diǎn)-彈簧;交互

        柔性織物的動(dòng)態(tài)仿真在虛擬現(xiàn)實(shí)、影視動(dòng)畫、游戲娛樂中都有廣泛的應(yīng)用。布料和服裝作為柔性織物的典型代表一直是虛擬仿真研究的熱點(diǎn)??椢锓抡娴难芯糠椒ㄖ饕谢谖锢淼姆椒?、基于幾何的方法及二者混合的方法[1]。幾何法不考慮織物的物理特性,該方法模擬出的效果比現(xiàn)實(shí)情況更規(guī)則,比較適合靜止?fàn)顟B(tài)下織物的仿真。物理法[2]通過受力分析和求解動(dòng)力學(xué)方程確定織物質(zhì)點(diǎn)每個(gè)時(shí)間步長的狀態(tài),相比幾何法要進(jìn)行更多的計(jì)算,但是卻能仿真出流暢的動(dòng)態(tài)效果?;旌戏ǎ?]主要是為了解決物理方法實(shí)時(shí)性差的缺點(diǎn),在保證逼真度的情況下減少計(jì)算量。

        隨著計(jì)算機(jī)硬件性能的提高,近年來織物仿真主要采用基于質(zhì)點(diǎn)-彈簧模型的物理仿真方法。毛天露[4]提出了一種基于實(shí)例的布料運(yùn)動(dòng)模型參數(shù)學(xué)習(xí)方法,實(shí)驗(yàn)結(jié)果表明:布料模擬數(shù)據(jù)與實(shí)例數(shù)據(jù)的相對(duì)誤差小于6%,能較好反映出相同外力下不同材質(zhì)布料的運(yùn)動(dòng)特性。Zhili Chen[5]仿真出類似氣囊效果的布料,仿真包括布料層、內(nèi)部實(shí)體層、空氣層。算法主要通過處理碰撞、摩擦和空氣壓力來仿真出上述效果,該方法的局限性在于只適合仿真類似枕頭、羽絨被芯和填充玩具等。呂夢(mèng)雅[6]提出了一種結(jié)合簡單空氣動(dòng)力學(xué)模型和柏林噪聲函數(shù)的方法模擬隨機(jī)風(fēng)場(chǎng),實(shí)現(xiàn)布料在風(fēng)場(chǎng)中的動(dòng)態(tài)效果。賴秋鳳[7]利用柏林噪聲函數(shù)和隨機(jī)函數(shù)生成不同的風(fēng)力,然后利用流體力學(xué)的方法仿真出織物受風(fēng)力作用后的動(dòng)態(tài)效果。這些方法只是仿真出受風(fēng)力影響時(shí)織物的運(yùn)動(dòng)狀態(tài),并未考慮人為交互。汪曉斌[8]提出了一種基于物理模型的可交互布料變形方法,添加用戶虛擬力后通過數(shù)值積分求解仿真出交互效果。但是文中并沒有詳細(xì)說明布料運(yùn)動(dòng)是如何與鼠標(biāo)運(yùn)動(dòng)保持一致的,只是簡單作為一種力來介紹。在以布料為基礎(chǔ)的服裝仿真方面,陳燕[9]從靈活性、實(shí)時(shí)性等方面出發(fā),對(duì)任意衣物和人體的3D試穿實(shí)時(shí)仿真進(jìn)行了研究,該仿真流程保證了試穿效果的多樣性和實(shí)時(shí)性。Yuwei Meng[10]采用自底向上的服裝仿真方法,添加了4種用戶交互操作修正衣片位置,進(jìn)行虛擬縫合和服裝仿真。實(shí)驗(yàn)結(jié)果表明:系統(tǒng)穩(wěn)定且能仿真出具有復(fù)雜造型的服裝試穿效果,但是這種交互操作主要是為了修正位置,不涉及服裝在交互作用下的變形。Jianping Wang[11]提出了一種基于尺寸驅(qū)動(dòng)的服裝變形方法,其目標(biāo)是對(duì)服裝進(jìn)行變形使其適合于目標(biāo)人體模型。變形主要是基于源人體模型和目標(biāo)人體模型之間的主要尺寸差別,但是沒有人體模型的對(duì)比。呂佳佳[12]則采用衣片網(wǎng)格局部變形的方法進(jìn)行服裝多樣性的研究,該方法并不涉及人體模型信息,只是在同一模型上進(jìn)行服裝變形,比較簡單實(shí)用。

        鑒于織物仿真方面缺乏交互仿真研究的現(xiàn)狀,本文在OpenGL頂點(diǎn)處理機(jī)制的啟發(fā)下,利用空間轉(zhuǎn)換將人為可操作的鼠標(biāo)客戶區(qū)坐標(biāo)映射到虛擬空間中織物的質(zhì)點(diǎn)上,從而通過控制鼠標(biāo)實(shí)現(xiàn)織物在人為交互情況下的變形效果。實(shí)驗(yàn)結(jié)果與對(duì)比表明,本文方法簡單有效,而且可在多種情況下進(jìn)行交互響應(yīng),充分表現(xiàn)出優(yōu)越的物理仿真效果。

        1 織物質(zhì)點(diǎn)-彈簧模型

        本文在布料仿真中采用基于四邊形網(wǎng)格的質(zhì)點(diǎn)彈簧模型,而服裝仿真則采用三角網(wǎng)格。把構(gòu)成網(wǎng)格的頂點(diǎn)看作是質(zhì)點(diǎn),把頂點(diǎn)之間的連線看作是彈簧,就形成了所謂的質(zhì)點(diǎn)-彈簧模型。彈簧可以分為3種:結(jié)構(gòu)彈簧、剪切彈簧、彎曲彈簧。結(jié)構(gòu)彈簧的作用是為了保持質(zhì)點(diǎn)之間的初始距離,用于防止在經(jīng)緯二個(gè)方向有過度變形;剪切彈簧是為了模擬織物傾斜方向的作用力;彎曲彈簧的作用則是用于模擬織物在彎曲或折疊時(shí)的抗彎曲性能。相對(duì)于其他兩種彈簧,彎曲彈簧的作用最輕微,為了更快速地仿真,布料仿真中只考慮了前兩種彈簧。服裝是基于三角網(wǎng)格的,不存在經(jīng)緯方向,所以只存在結(jié)構(gòu)彈簧和剪切彈簧。

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

        圖1(a)和1(b)中的V、N表示邏輯坐標(biāo)軸,用來索引質(zhì)點(diǎn)數(shù)組中的質(zhì)點(diǎn)。圖1(a)中的弧線表示彎曲彈簧,水平和豎直實(shí)線表示結(jié)構(gòu)彈簧;圖1(b)中的斜實(shí)線表示剪切彈簧;圖1(c)中虛線表示剪切彈簧,實(shí)線表示結(jié)構(gòu)彈簧。

        本文服裝采用自底向上的仿真方法,首先要構(gòu)建衣片模型,然后進(jìn)行虛擬縫合,最后進(jìn)行碰撞檢測(cè)得到三維試穿效果。衣片模型構(gòu)建過程涉及以下幾個(gè)步驟:構(gòu)建輪廓,布點(diǎn),去除多余點(diǎn),三角剖分。

        本文衣片輪廓利用軟件完成,導(dǎo)入程序中進(jìn)行離散化處理。計(jì)算出衣片輪廓的包圍盒后進(jìn)行均勻布點(diǎn)。將衣片輪廓外面的點(diǎn)去除后采用Bowyer-Watson算法[13]進(jìn)行三角剖分,主要思想是:1)假定已經(jīng)生成了Delaunay三角網(wǎng)格,可以首先構(gòu)建一個(gè)超級(jí)三角形存儲(chǔ)在三角形鏈表中;2)從所布點(diǎn)集任選一個(gè)新點(diǎn),找出三角形鏈表中外接圓包含該新點(diǎn)的三角形,刪除該類三角形的公共邊;3)將新點(diǎn)與三角形的各頂點(diǎn)連接起來,使三角形鏈表大小增1;4)返回第2)步直到所有插值點(diǎn)都加入為止。具體效果如圖2所示。

        2 受力分析及數(shù)值積分求解

        2.1 受力分析

        采用物理法仿真的基礎(chǔ)就是受力分析,這里受力分析的對(duì)象為構(gòu)成織物的質(zhì)點(diǎn)。質(zhì)點(diǎn)受力主要分為兩種:內(nèi)力和外力。內(nèi)力主要有彈簧力和阻尼力,外力視仿真的具體情況而定,通常有風(fēng)力、重力、緩沖力以及文獻(xiàn)[8]中的用戶虛擬力等。質(zhì)點(diǎn)受到外力(如重力)打破平衡狀態(tài),跟質(zhì)點(diǎn)相連的彈簧就會(huì)受質(zhì)點(diǎn)拉扯引起形變也產(chǎn)生了彈簧力,正是這種彈簧力使織物產(chǎn)生了各種變形效果。

        圖2 服裝衣片模型

        2.1.1 內(nèi)力

        在計(jì)算彈簧力之前要先對(duì)織物添加彈簧,對(duì)于布料采用局部搜索算法添加結(jié)構(gòu)和剪切彈簧。首先利用邏輯坐標(biāo)按行遍歷質(zhì)點(diǎn)數(shù)組;然后將索引到的質(zhì)點(diǎn)Pnv的邏輯坐標(biāo)的N、V值加減1就可以索引到Pnv周圍的點(diǎn),最多索引到8個(gè)質(zhì)點(diǎn);最后判斷索引到的質(zhì)點(diǎn)邏輯坐標(biāo)是否在布料邊界以內(nèi),如果是,則作為彈簧的另一端,表示彈簧添加成功。對(duì)于服裝首先構(gòu)建彈簧鏈表并遍歷三角形鏈表,比較三角形的兩頂點(diǎn)與彈簧鏈表中某彈簧的兩端點(diǎn)是否相等,若相等則表示該三角形邊已添加過彈簧,若不相等,則新建1條彈簧,把該邊的兩頂點(diǎn)賦值給彈簧并存入彈簧鏈表中。在添加剪切彈簧時(shí),對(duì)于三角形鏈表中的每一個(gè)三角形需要找到三角形鏈表中與該三角形有公共邊的另外3個(gè)三角形。由排列組合的知識(shí)可知一共有9種情況,針對(duì)每種情況將對(duì)角的頂點(diǎn)賦值給一個(gè)新建的彈簧然后存入到彈簧鏈表中。

        彈簧力是利用胡克定理計(jì)算得到的,在給定彈簧系數(shù)的情況下,彈簧相比原始長度的形變量越大則產(chǎn)生的彈簧力也越大。

        式中:Pnv表示要計(jì)算彈簧力的質(zhì)點(diǎn);Pij表示質(zhì)點(diǎn)數(shù)組中與Pnv通過彈簧相連的其他質(zhì)點(diǎn);Lt為對(duì)應(yīng)的彈簧原始長度。針對(duì)質(zhì)點(diǎn)Pnv求出與該點(diǎn)有關(guān)的所有彈簧的合力Fnv,以此作為質(zhì)點(diǎn)Pnv受到的彈簧力。

        阻尼力用于增加織物的穩(wěn)定性,其物理意義上的作用就是緩沖較大彈簧力引起的過度變形,在仿真效果上表現(xiàn)為織物的硬度。

        式中:Cdamp表示阻尼系數(shù);Vnv-Vij表示質(zhì)點(diǎn)Pnv和關(guān)聯(lián)質(zhì)點(diǎn)Pij的速度差??芍俣炔钤酱笃洚a(chǎn)生的約束力也就越大,增加了穩(wěn)定性。

        2.1.2 外力

        仿真中涉及的外力為重力和風(fēng)力[14],仿真時(shí)設(shè)定每個(gè)質(zhì)點(diǎn)的質(zhì)量都為m。

        式(3)中:g表示重力加速度,為了獲得更好的仿真效果,令g=(0,0,-0.1)。式(4)中:ρ是空氣密度;Vrelative表示三角形相對(duì)于風(fēng)的速度,其中三角形的速度等于組成三角形三個(gè)質(zhì)點(diǎn)速度之和的平均值;cdrag表示布料拖拽系數(shù);s表示三角形的面積;N表示三角形的法向量。根據(jù)流體力學(xué)的方法,通過計(jì)算風(fēng)力作用在模型中每個(gè)三角形上的力來計(jì)算風(fēng)施加在相應(yīng)三角形頂點(diǎn)上的力,則每個(gè)質(zhì)點(diǎn)所受到的風(fēng)力為該質(zhì)點(diǎn)所在三角形面受力的合力的平均值。四角網(wǎng)格布料的每個(gè)網(wǎng)格可以看成是由兩個(gè)三角形組合而成。

        2.2 數(shù)值積分求解

        為了形成流暢的布料動(dòng)畫仿真效果,每經(jīng)過一個(gè)時(shí)間步長就要使用下一個(gè)時(shí)間步長的質(zhì)點(diǎn)狀態(tài)更新一次質(zhì)點(diǎn),下一時(shí)間步長的質(zhì)點(diǎn)狀態(tài)[15]是積分求解得到的。數(shù)值積分有顯式和隱式兩種,由于織物質(zhì)點(diǎn)數(shù)目少,而且顯式方法可以使用較小的時(shí)間步長,使仿真更具連續(xù)性,所以本文采用顯示歐拉法對(duì)模型進(jìn)行數(shù)值求解。

        式(5)中:Fnv(t)為質(zhì)點(diǎn)所受到的合力;m為質(zhì)點(diǎn)質(zhì)量(本文中規(guī)定所有質(zhì)點(diǎn)的質(zhì)量都相同)。式(6)和(7)中:anv、Vnv、Pnv分別表示質(zhì)點(diǎn)的加速度、速度和位置;Δt表示仿真的時(shí)間步長。由公式分析可知,若想知道下一時(shí)刻質(zhì)點(diǎn)的狀態(tài),則必須通過合力計(jì)算出加速度,然后算出速度,最后更新質(zhì)點(diǎn)的位置。

        3 坐標(biāo)映射及交互

        本文受OpenGL頂點(diǎn)處理機(jī)制啟發(fā),通過一系列的空間轉(zhuǎn)換將windows窗口下的客戶區(qū)坐標(biāo)映射到織物質(zhì)點(diǎn)坐標(biāo)。OpenGL的頂點(diǎn)處理機(jī)制如圖3所示。

        圖3 頂點(diǎn)處理機(jī)制

        相比圖3的過程,若想要將窗口客戶區(qū)的像素坐標(biāo)映射到織物質(zhì)點(diǎn)上,則要進(jìn)行和圖3相反的過程。首先,獲取客戶區(qū)坐標(biāo),也就是屏幕空間坐標(biāo)并轉(zhuǎn)換為相機(jī)空間中的坐標(biāo);然后,將相機(jī)空間中的坐標(biāo)通過視見轉(zhuǎn)換的逆過程轉(zhuǎn)換為世界空間的坐標(biāo),以此坐標(biāo)和相機(jī)位置作射線;最后將布料質(zhì)點(diǎn)看作是小球,遍歷質(zhì)點(diǎn)找出與射線相交的小球,取其中相交參數(shù)最小的作為交互質(zhì)點(diǎn)。

        3.1 相機(jī)空間坐標(biāo)

        首先創(chuàng)建windows窗口,則可以利用相關(guān)函數(shù)獲取客戶區(qū)坐標(biāo),在屏幕空間坐標(biāo)系下將客戶區(qū)坐標(biāo)轉(zhuǎn)換到相機(jī)空間中,具體示意圖如圖4。

        圖4 空間示意圖

        利用GetCursorPos函數(shù)獲取客戶區(qū)鼠標(biāo)坐標(biāo)(xs,ys),在圖4(a)所示坐標(biāo)系下用Pscreen=(xs,ys,0)表示。圖4(b)中:Camera表示相機(jī)位置;Ppro表示經(jīng)過空間轉(zhuǎn)換后Pscreen在相機(jī)空間所對(duì)應(yīng)的點(diǎn);u、f、r表示相機(jī)的局部坐標(biāo)系。該相機(jī)空間同時(shí)也是gluPerspective函數(shù)確定的視錐體,其參數(shù)為fovy、aspect、zNear、zFar。在程序中對(duì)參數(shù)的設(shè)置為fovy=45.0、aspect=4.0/3.0、zNear=1、zFar=100,故Ppro的坐標(biāo)就可以表示為(xc,yc,-n),n=zNear=1。該坐標(biāo)的轉(zhuǎn)換公式[16]為

        式(8)是Pscreen到Ppro的轉(zhuǎn)換公式,連接Ppro和原點(diǎn)寫成向量形式為該向量指向視錐體內(nèi)部。

        3.2 世界空間坐標(biāo)

        對(duì)于兩個(gè)不同的基礎(chǔ)坐標(biāo)系,同樣一點(diǎn)在兩坐標(biāo)系中的坐標(biāo)是不相同的,但是他們之間存在著互相轉(zhuǎn)換的關(guān)系。相機(jī)空間和世界空間也相當(dāng)于兩個(gè)基礎(chǔ)坐標(biāo)系,現(xiàn)在要做的就是將相機(jī)空間中的Ppro轉(zhuǎn)換到世界空間。已知視見矩陣的逆矩陣[16]為

        設(shè)Cam=(Ex,Ey,Ez)表示相機(jī)位置坐標(biāo),由gluLookAt函數(shù)的前3個(gè)參數(shù)指定。該函數(shù)后3個(gè)參數(shù)確定相機(jī)朝上的方向up=(upx,upy,upz)。正交向量u、f、r與圖4(b)所示相機(jī)局部坐標(biāo)系是同一個(gè)坐標(biāo)系。其中則Ppro經(jīng)過M-1作用后就可以得到一個(gè)指向世界空間的方向向量,定義該向量為

        式(10)中所確定的方向因鼠標(biāo)客戶區(qū)坐標(biāo)的不同而不同,由此可以形成受鼠標(biāo)客戶區(qū)坐標(biāo)約束的交互射線,利用交互射線可以映射到所有正對(duì)屏幕的織物質(zhì)點(diǎn)。

        3.3 交互

        因?yàn)槠聊簧巷@示的是相機(jī)所觀察到的對(duì)象,所以,在質(zhì)點(diǎn)拾取時(shí)要以相機(jī)坐標(biāo)位置為端點(diǎn),以公式(10)定義的方向?yàn)榻换ド渚€的方向。

        式(11)表示射線,式(12)中Ci表示球心,也就是質(zhì)點(diǎn)的位置坐標(biāo)。將質(zhì)點(diǎn)看成小球,則r表示半徑,X表示球邊界上任意一點(diǎn)。聯(lián)立兩式,以R(t)替換X可得

        式(13)是關(guān)于t的二次方程,可以采用判別式法判斷射線與球的交點(diǎn)個(gè)數(shù),其中m=P-Ci。利用求根公式求出t值。

        確定交互質(zhì)點(diǎn)后還要考慮鼠標(biāo)運(yùn)動(dòng)時(shí)交互質(zhì)點(diǎn)如何運(yùn)動(dòng),該部分采用比例映射的原理實(shí)現(xiàn),如圖5所示。

        圖5 中,f垂直于矩形平面,且平面跟Camera的距離為1。由式(10)可知,客戶區(qū)鼠標(biāo)坐標(biāo)的變化不會(huì)影響到dir的z坐標(biāo),故圖4中dir1和dir2的終點(diǎn)都在矩形平面上。首先求出交互質(zhì)點(diǎn)P1到相機(jī)的距離dist。然后根據(jù)比例關(guān)系即可得P2=P1+(dir2-dir1)*dist,即客戶區(qū)鼠標(biāo)坐標(biāo)變化使世界空間中P1移動(dòng)到P2。

        4 碰撞檢測(cè)

        為了仿真出織物在運(yùn)動(dòng)方向遇到障礙物情況下的響應(yīng)效果,本文對(duì)布料和球以及服裝和人體模型之間的碰撞檢測(cè)進(jìn)行了研究。

        布料跟球主要采用射線碰撞的方法,具體類似于3.3節(jié)中確定交互質(zhì)點(diǎn)的過程。服裝與人體模型的碰撞檢測(cè)則相對(duì)復(fù)雜。為了減少計(jì)算量,對(duì)人體模型進(jìn)行自適應(yīng)劃分并構(gòu)造橢球包圍盒[17],然后對(duì)每個(gè)時(shí)間步長檢測(cè)碰撞是否發(fā)生及質(zhì)點(diǎn)下一時(shí)間步長的位置是否在橢球內(nèi)部。如果發(fā)生了碰撞,則對(duì)橢球包圍盒內(nèi)部的三角面片與質(zhì)點(diǎn)作幾何測(cè)試,找出碰撞信息并響應(yīng)。

        5 實(shí)驗(yàn)結(jié)果及分析

        本文實(shí)驗(yàn)的物理環(huán)境為win10系統(tǒng)筆記本電腦,具體配置為Intel Core i5-3230M CPU 2.60 GHz,內(nèi)存4GB。采用OpenGL作為三維圖像接口,編譯環(huán)境使用的是VS2010(Visual Studio 2010),編程語言為C++,以O(shè)penGL程序框架為基礎(chǔ)進(jìn)行開發(fā)。服裝部分的仿真涉及到一些軟件的應(yīng)用,如人體模型是從Poser導(dǎo)出經(jīng)過3dsMax處理得到的;衣片輪廓的構(gòu)建是利用AutoCAD完成的。

        5.1 布料實(shí)驗(yàn)分析

        圖6(a)表示布料受到重力作用懸垂的效果,初始指定上面兩個(gè)角的端點(diǎn)固定,如果不固定的話布料會(huì)一直墜落直到看不見;圖6(b)表示拾取質(zhì)點(diǎn)后拖動(dòng)質(zhì)點(diǎn)的效果,使人可以進(jìn)行交互操作;圖6(c)中將交互質(zhì)點(diǎn)固定,這樣就可以對(duì)其他質(zhì)點(diǎn)進(jìn)行交互。

        圖6 布料交互效果

        圖7(a)~(c)表示布料受不同方向風(fēng)力作用后的效果。圖7(d)和(e)表示風(fēng)力作用下是否進(jìn)行交互的對(duì)比圖,圖7(d)沒有進(jìn)行交互。圖7(e)中箭頭處受人為控制,布料在此區(qū)域的運(yùn)動(dòng)效果明顯有別于圖7(d)。本文仿真出的布料受風(fēng)力作用的效果與真實(shí)情況基本一致,具有較自然的褶皺效果。

        圖7 風(fēng)力下質(zhì)點(diǎn)交互

        圖8(a)表示布料下落過程中與球發(fā)生碰撞的效果;圖8(b)為布料拖拽過程中的效果;最后布料從球上被完全扯下來后的效果如圖8(c)所示。

        圖8 碰撞時(shí)的交互效果

        圖9中文獻(xiàn)[8]的交互方法類似于添加風(fēng)力,只是換成了交互力,文中并沒有介紹如何通過鼠標(biāo)確定交互的三角形面片。相比文獻(xiàn)[8]的方法,本文通過質(zhì)點(diǎn)進(jìn)行交互而且詳細(xì)介紹了交互的過程,圖8中布料與碰撞對(duì)象貼合更加緊密,物理效果更好,整個(gè)仿真過程流暢逼真,而且具有自然的懸垂褶皺效果。

        圖9 文獻(xiàn)[8]交互效果

        5.2 服裝實(shí)驗(yàn)分析

        將1.1節(jié)中的衣片模型通過虛擬縫合之后就可以得到三維服裝模型,此時(shí)服裝不受重力作用。具體如圖10所示。

        圖10 三維服裝模型

        圖11為短裙和長裙在交互作用下的變形效果,圖中箭頭所指的位置就是用于交互的質(zhì)點(diǎn),通過牽引質(zhì)點(diǎn)運(yùn)動(dòng)服裝隨之發(fā)生變形。圖12是為了與圖11進(jìn)行對(duì)比拍攝的真實(shí)服裝變形效果,選取的服裝款式與圖11類似,人為交互的位置也和圖11保持一致。相比來看,圖11仿真出的服裝交互效果具有較高的逼真度,而且和現(xiàn)實(shí)服裝受交互下產(chǎn)生的褶皺效果高度一致。

        圖11 交互下的服裝變形

        圖12 實(shí)際服裝對(duì)比

        圖13(a)為對(duì)圖10所示的服裝進(jìn)行虛擬試穿并添加碰撞檢測(cè)與響應(yīng)后的效果。相比文獻(xiàn)[12]可以看出服裝與人體模型緊密貼合而且沒有穿透現(xiàn)象。文獻(xiàn)[12]方法的效果中在裙邊位置出現(xiàn)明顯的上翹效果,這在實(shí)際生活中明顯是不合理的。

        圖13 試穿效果

        由表1和圖14可以看出:雖然本文質(zhì)點(diǎn)個(gè)數(shù)和三角面片個(gè)數(shù)都和文獻(xiàn)[12]的相差不多,但是本文在添加彈簧和碰撞檢測(cè)方面的算法優(yōu)于文獻(xiàn)[12]采用的方法,因此在效果上可明顯看出本文仿真出的服裝在人體模型臀部、腰部、胸部都有很好的貼合效果,而文獻(xiàn)[12]仿真出的服裝整體上像是“套”在人體模型上的。

        表1 服裝模型對(duì)比

        圖14 側(cè)面對(duì)比

        6 結(jié)束語

        本文提出了一種基于OpenGL頂點(diǎn)處理機(jī)制的織物交互仿真方法,并以此為基礎(chǔ)對(duì)布料和服裝進(jìn)行交互式仿真研究。仿真過程中可以通過鼠標(biāo)人為改變織物的運(yùn)動(dòng)狀態(tài),一定程度上解決了傳統(tǒng)織物仿真中無法進(jìn)行交互的問題。為了驗(yàn)證交互時(shí)是否影響織物的物理仿真效果,本文對(duì)布料在風(fēng)力和碰撞兩種情況下進(jìn)行實(shí)驗(yàn)。由仿真效果可以看出在交互的過程中布料仍能表現(xiàn)出較好的物理仿真效果。通過與實(shí)際服裝交互變形效果對(duì)比可知,本文方法在質(zhì)點(diǎn)較多的服裝仿真中也能表現(xiàn)出良好的適用性,仿真出的效果也與實(shí)際服裝具有高度一致性。

        [1] 石敏,毛天露,夏時(shí)洪,等.布料動(dòng)畫方法研究進(jìn)展及問題[J].計(jì)算機(jī)學(xué)報(bào),2012,35(12):2446-2458.

        [2] 梁秀霞,韓慧健,張彩明.基于物理仿真的布料動(dòng)畫研究綜述[J].計(jì)算機(jī)研究與發(fā)展,2014,51(1):31-40.

        [3] 毛天露,夏時(shí)洪,朱小龍,等.一種基于混合模型的實(shí)時(shí)虛擬人服裝動(dòng)畫方法[J].計(jì)算機(jī)研究與發(fā)展,2010,47(1):8-15.

        [4] 毛天露,夏時(shí)洪,王兆其.布料運(yùn)動(dòng)模型參數(shù)學(xué)習(xí)方法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2010,22(5):823-826.

        [5] CHEN Z L,F(xiàn)ENG R G,WANG H M.Modeling friction and air effects between cloth and deformable bodies[J].ACM Transactions on Graphics(TOG),2013,32(4):88.

        [6] 呂夢(mèng)雅,許立瑤,唐勇,等.隨機(jī)可控風(fēng)場(chǎng)中三維布料實(shí)時(shí)仿真[J].小型微型計(jì)算機(jī)系統(tǒng),2015,36(12):2769-2772.

        [7] 賴秋鳳,侯進(jìn).基于噪聲函數(shù)的隨機(jī)風(fēng)場(chǎng)作用的動(dòng)態(tài)布料研究[J].計(jì)算機(jī)仿真,2015,32(12):192-196.

        [8] 汪曉斌,侯君毅,沈旭昆.基于物理模型的可交互的布料變形方法[J].系統(tǒng)仿真學(xué)報(bào),2014,26(9):2050-2055.

        [9] 陳燕,薛原,楊若瑜.任意衣物和人體的3D試穿實(shí)時(shí)仿真[J].計(jì)算機(jī)應(yīng)用,2014,34(1):124-128.

        [10]MENG YW,MOK PY,JIN X G.Interactive virtual tryon clothing design systems[J].Computer-Aided Design,2010,42(4):310-321.

        [11]WANG JP,WANG R M,ZHOU F.3D virtual garments deformation method based on size-driven[C]//2014 5th IEEE International Conference on Digital Home.Guangzhou:IEEE,2014:192-197.

        [12]呂佳佳,侯進(jìn),張平.基于衣片網(wǎng)格局部變形的服裝多樣性研究[J].計(jì)算機(jī)應(yīng)用研究,2014,31(12):3848-3850.

        [13]周雪梅,黎應(yīng)飛.基于Bowyer-Watson三角網(wǎng)生成算法的研究[J].計(jì)算機(jī)工程與應(yīng)用,2013,49(6):198-200.

        [14]LI Y,YANG M L,ZHAO J,et al.Garment movement simulation in random wind field based on perlin noise function[J].Journal of Computational Information System,2014,10(8):3275-3282.

        [15]BENDER J,MüLLER M,OTADUY M A,et al.A survey on position-based simulation methods in computer graphics[C]//Computer Graphics Forum.USA:[s.n.],2014,33(6):228-251.

        [16]HAN J.3D graphics for game programming[M].British:Chapman&Hall/CRC,2011.

        [17]唐勇,楊偲偲,呂夢(mèng)雅,等.自適應(yīng)橢球包圍盒改進(jìn)織物碰撞檢測(cè)方法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2013,25(10):1589-1596.

        [18]王青松,劉箴.一種考慮隨機(jī)風(fēng)場(chǎng)作用的布料動(dòng)畫研究[J].計(jì)算機(jī)仿真,2012,29(10):38-41.

        (責(zé)任編輯楊文青)

        A M ethod for Fabric Interaction Sim ulation Based on OpenGL Vertex Processing

        LIDong-hui,HOU Jin,HUANG Cong
        (School of Information Science and Technology,Southwest Jiaotong University,Chengdu 611756,China)

        Fabric is the accessory of people in real life,but classical fabric simulation almost has no interaction study between people and fabric.In view of this,a method for fabric interaction simulation based on OpenGL(Open Graphics Library)vertex processing is proposed.Firstly,the fabric simulation models including cloth and garments are built based on mass-spring.Secondly,this paper analyze the forces of fabric and calculate the solution of dynamical equation by explicit Euler method.Thirdly,the client coordinate of the mouse can be mapped to the vertex in fabric by using OpenGLvertex process.Finally,the interaction effect constrained by the client coordinate is achieved after collision detection.The experimental results show that the method can realistically simulate the interaction effect and have good real-time performance as well.

        fabric simulation;mass-spring;interaction

        TP391.9

        A

        1674-8425(2016)12-0114-08

        10.3969/j.issn.1674-8425(z).2016.12.018

        2016-06-17

        國家自然科學(xué)基金面上項(xiàng)目(61371165);成都市科技項(xiàng)目(科技惠民技術(shù)研發(fā)項(xiàng)目)(2015-HM01-00050-SF);四川省動(dòng)漫研究中心2015年度科研項(xiàng)目(DM201504)

        李東輝(1990—),男,河南周口人,碩士,主要從事計(jì)算機(jī)仿真方面研究,E-mail:841736962@qq.com。

        李東輝,侯進(jìn),黃聰.一種基于OpenGL頂點(diǎn)處理機(jī)制的織物交互仿真方法[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)),2016(12):114-121.

        format:LIDong-hui,HOU Jin,HUANG Cong.A Method for Fabric Interaction Simulation Based on OpenGL Vertex Processing[J].Journal of Chongqing University of Technology(Natural Science),2016(12):114-121.

        猜你喜歡
        人體模型質(zhì)點(diǎn)布料
        用布料拼圖形
        巧用“搬運(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)
        基于乘員體型的車輛安全性研究
        汽車文摘(2015年11期)2015-12-14 19:10:11
        按約定付賬
        愛你(2015年2期)2015-11-14 22:43:29
        Family makes 45—foot icicle in front yard
        體驗(yàn)創(chuàng)新:3D人體掃描儀測(cè)三圍
        高爐重量布料準(zhǔn)確度的提高
        天津冶金(2014年4期)2014-02-28 16:52:58
        成人爽a毛片一区二区免费| 国产激情艳情在线看视频| 国产午夜福利100集发布| 在线视频99| 一本久道久久综合狠狠操| 日韩精品一区二区三区乱码| 国产成人无码精品久久久露脸| 亚洲a∨无码一区二区| 欧美人与物videos另类| 亚洲岛国一区二区三区| av色欲无码人妻中文字幕| 免费特级黄毛片| 亚洲最新中文字幕一区| 中国精品视频一区二区三区| 久久精品一区二区三区夜夜| 少妇精品亚洲一区二区成人| 亚洲国产精品va在线播放| 国产精品一区二区久久乐下载| 国产精品天堂在线观看| 丰满少妇人妻无码| 中文字幕无码av激情不卡| 国产成人cao在线| 国产精品亚洲综合久久| 国产a国产片国产| 日韩亚洲中字无码一区二区三区| 加勒比亚洲视频在线播放| 亚洲精品一区二区三区新线路| 狠狠色丁香婷婷久久综合| 亚洲男人天堂| 看全色黄大色大片免费久久久| 极品av一区二区三区| 免费人成视频在线| 中文字幕avdvd| 综合激情五月三开心五月| 久久久久av无码免费网| 五月婷婷六月激情| 91久久精品一二三区色| 国产精品美女一区二区视频 | 在线看亚洲一区二区三区| 亚洲av色香蕉一区二区三区老师| 国产精品原创巨作AV女教师 |