一種基于褶皺基線的三維褶皺生成方法
【技術領域】
[0001] 本發明涉及一種基于褶皺基線的改進三維褶皺生成方法,屬于柔性織物仿真技術 領域。
【背景技術】
[0002] 在衣物仿真模擬過程中,模擬效果的視覺真實性一直是衡量衣物模擬仿真價值的 一個標準。在現實生活當中,柔性的衣物會因為各種力的相互作用而產生褶皺,而這些褶皺 正是衣物布料所具有的不可忽視的主要細節。因此,褶皺的添加能增強衣物模擬的視覺真 實性,對褶皺的模擬仿真成為實現真實性柔性衣物模擬中不可或缺的一部分。
[0003] 衣物褶皺的模擬可以分為基于位圖貼圖的方法、基于幾何的方法、基于物理的方 法和基于數據驅動的方法等。其中,基于幾何的方法是比較常用的方法之一。2006年, Decaudin等人提出一個純幾何的方法模擬衣物裙皺。當衣物裹在圓筒形的身體部分時,會 產生彎曲,Decaudin等人利用這種衣物先驗知識產生預定義的褶皺。該方法僅適用于當圓 筒形的衣物表面遭遇一些預定義的小變形的情況,不適用于任意的衣物變形。Larboulette 等人和WangYu等人采用邊長保持不變的原則,在用戶定義的褶皺線上添加褶皺。Li等人 由圖片提取人臉皺紋曲線,并把曲線從2D投射到3D人臉模型,通過對皺紋剖面形狀的曲 線函數調整得到立體的皺紋形狀,并通過曲面細分進一步細化皺紋模型。Cutler等人在 衣物表面相應位置標定褶皺基線,并根據這些褶皺基線按照定義的褶皺形狀及可調節的參 數-褶皺形狀半徑最后生成立體褶皺。Rohmer等人采用與其相同的概念,在褶皺基線的基 礎上進一步模擬褶皺。不同的是,Rohmer等人的方法中,褶皺基線的位置是程序根據分析 粗仿真結果而得到,以一種自動后處理方法取代人為干涉。
[0004]目前的大部分基于幾何的衣物褶皺模擬方法分為兩個步驟:首先在衣物網格上生 成褶皺基線,以描述褶皺的大致走向;然后根據已定義的褶皺基線,生成三維的衣物褶皺。 以往的基于幾何的衣物褶皺模擬方法存在以下問題:
[0005] (1)在褶皺基線的生成方面,沒有成熟的褶皺基線自動生成方案,大部分的褶皺生 成方法依靠具有專業技能的藝術人員在衣物網格上手工添加褶皺基線。
[0006] (2)在三維衣物褶皺生成方面,由于衣物褶皺的千變萬化,沒有一種通用的方法可 以有效地描述褶皺的形狀。
[0007] (3)目前模擬三維褶皺形狀的方法模擬的褶皺形狀與真實的褶皺形態有一定的差 距,從而引起仿真效果失真。
[0008] 針對以上問題,本發明對三維褶皺生成方法作了進一步研宄,提出一種基于褶皺 基線的三維褶皺生成方法。該方法的核心內容可以總結為:對三維衣物網格進行網格變形 分析;根據網格的變形分析提取褶皺基線;以褶皺曲線為骨架生成卷積曲面,將褶皺區域 上的點映射到卷積曲面以模擬褶皺形狀;根據目標形狀函數,將三維褶皺網格上的點調整 到相應位置,調整三維褶皺截面形狀。從而實現更具視覺真實性的褶皺模擬。
【發明內容】
[0009] 本發明要解決的技術問題是:克服現有技術的不足,提供一種基于褶皺基線的三 維褶皺生成方法,提高衣物褶皺模擬的真實性。
[0010] 本發明采用的技術方案:將連續介質力學中定義的變形張量運用在三維衣物網格 上,對三維衣物網格進行網格變形分析;把三維衣物網格剖分成前后兩個分塊,并分別對兩 個分塊進行平面展開,并在展開的平面上,根據網格頂點的拉伸量信息進行褶皺基線的跟 蹤尋找;以褶皺曲線為骨架生成卷積曲面,然后將褶皺區域上的頂點映射到卷積曲面以生 成最終的三維衣物褶皺;最后根據目標形狀函數,對生成的三維褶皺進行截面形狀的調整, 從而使衣物褶皺更具視覺真實性。
[0011] 一種基于褶皺基線的三維褶皺生成方法,步驟如下:
[0012] (1)對三維衣物網格進行網格變形分析;
[0013] (2)根據網格的變形分析提取褶皺基線;
[0014] (3)以褶皺曲線為骨架生成卷積曲面;
[0015] (4)褶皺區域上頂點到卷積曲面的映射;
[0016] (5)根據目標形狀函數,調整三維褶皺截面形狀。
[0017] 本發明與現有技術相比的有益效果是:
[0018] 提高三維衣物褶皺模擬的真實性,通過對衣物三維褶皺截面形狀的調整,使衣物 褶皺的截面形狀與真實褶皺的形狀更加接近,并且該褶皺截面形狀的調整方法具有通用 性,可以采用不同的目標形狀函數,模擬不同的褶皺截面形狀。
【附圖說明】
[0019] 圖1一種基于衣物褶皺基線的改進三維褶皺生成方法步驟示意圖。
[0020] 圖2截面形狀調整示意圖。
[0021] 圖3褶皺形狀對比圖示意圖。其中,(a)和(b)為真實世界中布料的褶皺形狀;(c) 和(d)為以直線為骨架模擬生成的褶皺形狀;(e)和(f)為采用半圓模擬褶皺截面形狀后, 調整半圓幅值得到的褶皺形狀;(g)和(h)為采用g(x) =Acos (x)模擬褶皺截面形狀產 生的褶皺形狀;(i)和(j)為采用g(x)=Acos2(X)模擬褶皺截面形狀產生的褶皺形狀。
[0022] 圖4不同截面形狀函數模擬的衣物褶皺效果圖(一)。其中,(a)深色部分的網 格為三維上衣背面網格的兩個褶皺區域塊,(b)為采用半圓模擬褶皺截面形狀基礎上,調整 半圓幅值(即調整公式g(x) =Acos2 (x)中A的值),最終產生的褶皺形狀效果,(e)為其 對應的褶皺橫截面形狀;(c)為采用
模擬褶皺截面形狀產生的褶皺效果, (f)為其對應的褶皺橫截面形狀;(d)為采用
模擬褶皺截面形狀產生的 褶皺效果,(g)為其對應的褶皺橫截面形狀。
[0023] 圖5不同截面形狀函數模擬的衣物褶皺效果圖(二)。其中,(a)深色部分的網格 為三維上衣正面網格的兩個褶皺區域塊,(b)為采用半圓模擬褶皺截面形狀基礎上,調整半 圓幅值(即調整公式g(x) =Acos2 (x)中A的值),最終產生的褶皺形狀效果,(e)為其對 應的褶皺橫截面形狀;(C)為采用
模擬褶皺截面形狀產生的褶皺效果, (f)為其對應的褶皺橫截面形狀;(d)為采用
模擬褶皺截面形狀產生的 褶皺效果,(g)為其對應的褶皺橫截面形狀。
[0024] 圖6褶皺增強過程示意圖。其中,(a)為系統輸入的上衣側面的變形網格,(b)中 深灰色曲線標識在上衣側面生成的褶皺曲線,(c)是在變形網格上添加褶皺后的效果圖。
【具體實施方式】
[0025] 下面結合附圖及【具體實施方式】對本發明進一步詳細說明。
[0026] (1)對三維衣物網格進行網格變形分析
[0027] 將連續介質力學中定義的變形張量運用在三維衣物網格上,對三維衣物網格進行 三角形基元變形分析;采用Pennec等人提出的定義在張量空間、基于仿射不變性的黎曼度 量的插值方案,由三角形變形量插值出網格頂點的變形量。
[0028] (2)根據網格的變形分析提取褶皺基線
[0029] 為了降低褶皺基線查找的計算復雜性,需要把三維衣物網格信息轉換到二維平面 上,因此采用保角度的平面展開方法實現對三維初始網格的平面展開。然后在展開平面上 根據網格頂點變形量提取褶皺基線。最后把二維平面上的褶皺基線映射到三維衣物網格 上,得到褶皺曲線。
[0030] (3)以褶皺曲線為骨架生成卷積曲面
[0031] ①卷積骨架。
[0032] 本發明中的光滑褶皺曲線其實也是折線,因此本發明使用的骨架函數是用由一系 列連續線段組成的折線定義的。令Pl,P2, ...,Pm依次為折線上按順序排列的端點,則折線 上的每一個線段Si (t)可以表示為:
[0033] Sj (t) = Pj+taj, i = 1, 2, . . . , m-1, 0 t lj (3. 1)
[0034] 其中,li= |Pi+1-Pi|,
。所以褶皺曲線可以表示為:
[0036]對于空間中的點p,當p為褶皺曲線上的點時值為1,反之值為0,因此本發明將要 生成的卷積曲面的幾何函數為:
[0038] ②點的拉伸量值
[0039] 對于褶皺曲線上的每一條折線段,本文將其拆分成若干段。假設褶皺曲線上的第 i條線段上的一點為Si (t),其拉伸量值可以通過所在線段兩個端點的拉伸量的線性插值得 到。為了方便表述,假設原來褶皺曲線上的第i個點的拉伸量值為第i條褶皺折線段上 的點的拉伸量值為Vi(t),則有:
[0040] Vj(t) =Vi+tbj, 0 ^t^lj(3. 4)
[0041] 其中 所以折線骨架上的壓縮參數可以表示為: 3
[0043] ③卷積場函數
[0044] 本發明采用的卷積曲面的場函數定義為核函數k(p)與幾何函數g(p)的卷積:
[0046] 其中,Vu為骨架的定義域,《 (u)是控制褶皺變形半徑的權重函數,本發明采用 Rohmer[2]等人在計算卷積曲面時的權值函數w(u):
[0047] ? (u) = 4s(1+s2R(u)2)3/2 (3. 7)
[0049] 本發明中,v(u)為點u的拉伸量值,|為人為設定的值,|設為0.0005。
[0050] 本發明的核函數采用柯西核函數:
[0051] k(r) =l/(l+s2r2)2 (3. 9)
[0052] 公式(3. 9)中的s是模板參數,本發明的褶皺生成過程中,s的值設為100。
[0053]為了計算空間一點p的場函數f(p),需要求解公式(3.6)中的積分。當《 (u)為 常數時,f(P)等于《 〇乘以對核函數的積分:
[0054] f(p) = ?〇 /uk(p-u)du(3. 10)
[0055] 考慮到對于本發明的應用場景,《 (p)局部鄰域內的變化很小,因此可以認為在足 夠小的鄰域內《(P)的值是常數,于是求解f(P)的積分可以通過求和來近似得到,從而避 免了推導積分表達式的繁瑣過