一种基于拉普拉斯坐标的不同材料衣物仿真及优化方法
【专利摘要】本发明涉及一种基于拉普拉斯坐标的不同材料衣物仿真及优化方法,对原始的三维笛卡尔坐标系进行转换,建立在微分域坐标系下的衣服坐标。通过对微分域添加不同的约束控制,保证了旋转不变性的同时,模拟了不同材料的衣物在相同编辑操作下的衣物褶皱的模拟方法。其步骤是(1)选择适合衣物仿真的拉普拉斯坐标微分域解决方案。对选定的微分域方法进行优化,保持坐标的旋转的不变性,使其可以应用于更大范围的衣服变形操纵中。(2)考虑到不同的衣物在相同的操纵下对褶皱的表现形态不同,添加了针对性的形变约束,模拟不同材料衣服在相同的操作下的不同的褶皱产生形态。(3)针对衣服变形结果进行优化,包括求解速度的优化和褶皱区域仿真效果的优化。
【专利说明】
一种基于拉普拉斯坐标的不同材料衣物仿真及优化方法
技术领域
[0001] 本发明涉及种基于拉普拉斯坐标的不同材料衣物褶皱的仿真和优化方法,属于虚 拟衣物仿真技术领域。
【背景技术】
[0002] 总结近些年衣物褶皱仿真的研究方法,主要可以分为以下四类:基于几何特性计 算的方法、基于物理力和模型分析的方法、基于多分辨率网格的方法、基于机器学习数据驱 动的方法。(1)基于几何的方法。Hadap等人在几何的仿真方法中添加了纹理合成方法,创新 性的模拟了衣服的褶皱。Culter等人在三维展开模型根据一定规则寻找褶皱脊线,通过标 定、连接、平滑的方法生成光滑褶皱脊线,再在褶皱脊线上调节褶皱宽度和高度等几何参数 生成不同形状的褶皱。(2)基于物理的方法。基于物理的方法的仿真主要可以归结为两类: 基于能量的物理仿真和基于力学模型的物理仿真。基于能量的物理仿真方法首先构造织物 在不同场下的能量函数,并加以特殊的约束条件,然后用罚函数法得到非约束性的误差方 程。最后把误差方程线性化并通过最小二乘法求解织物的最终状态。Feynman提出了网格质 点模型,对二维和三维空间织物进行了一一映射,根据能量最小化原理仿真织物的悬垂效 果。Terzopoulos等人根据连续介质模型得到能量方程,并利用差分法求解能量方程。基于 力学的物理仿真法在弹性动力学理论上继续发展,首先利用微分方程建立质点的运动轨 迹,然后通过数值法确定某段时间内的运动轨迹,现在常用的物理模型主要是弹簧质点模 型和有限元模型。(3)基于多分辨率网格的方法。Russell等人提出一种基于粗网格的动态 实时仿真衣物这种算法。该方法采用图像分割技术提取时间和空间的可靠表面运动模式, 检测连续压缩的,稳定的和拉伸的褶皱部分,然后利用检测到的运动模式计算每个三角形 自适应的形状和此基础上的拉伸张量。该算法追踪空间和时间一致性的褶皱路径,采取一 种分为两步对拉伸张量进行评估过程方案,克服了由低分辨率网格表面产生不连续和噪点 现象的缺点。(4)基于数据驱动的褶皱模拟方法。Xu等人根据预计算的衣服形状给出一种高 分辨率网格下实时生成褶皱变形细节的解决方案。该方法引入人体骨骼,具体流程是:首 先,给出一个输入骨骼模型,通过操纵骨骼变化获取人体网格模型。然后把人体分为不同的 区域,每个区域的衣物褶皱效果从数据库里进行近似匹配,然后绑定到原模型。最后,通过 融合得到整体衣物褶皱效果,对处理中产生的问题进行修补得到目标网格。
【发明内容】
[0003] 本发明要解决的技术问题是:利用微分域方法进行网格编辑操作,该编辑方法速 度快,效果好。但是,网格编辑操作应用在柔体的衣物上会使仿真效果失真,为了继承微分 域网格编辑的优点,克服现有技术的不足,针对虚拟衣物仿真这一具体应用给出一种全新 的基于微分域不同衣物褶皱仿真方法。并针对放着后的褶皱区域进行分析,和局部褶皱增 强。
[0004] 本发明采用的技术方案:一种基于拉普拉斯坐标的不同材料衣物仿真及优化方 法,通过以下步骤实现:
[0005] (1)读取衣物网格数据,根据衣物网格数据为原始衣物网格的笛卡尔坐标建立拉 普拉斯坐标的微分坐标,在拉普拉斯坐标的微分坐标中针对衣物网格在旋转情况下,通过 重建的失真的情形修复方法,得到编辑后的衣物网格,建立原始衣物网格与编辑后的衣物 网格的能量误差方程,在旋转操作下保持衣物网格的缩放和旋转不变性;
[0006] (2)在步骤(1)建立的微分坐标上,根据衣服的特性为压缩,拉伸和弯曲添加不同 的约束能量方程,调节不同能量方程的系数模拟不同的褶皱效果,从而得到了不同材料衣 服的褶皱效果;
[0007] (3)在对步骤(1)得到的编辑后衣物网格上,进行加速衣物网格求解和褶皱区域优 化,提升编辑后衣物网格的求解速度;得到更加真实的褶皱编辑效果。
[0008] 所述步骤(1)的重建的失真的情形修复方法通过以下步骤实现:
[0009] (11)根据编辑后的衣物网格,对每个顶点在最终编辑后的新网格上计算一个近似 变换,建立新的能量约束方程;
[0010] (12)根据步骤(11)中的近似变换,转化为矩阵形式,得到旋转和缩放的控制矩阵, 根据旋转和缩放的控制矩阵,即可在一次重建过程中就能保持衣物网格的缩放和旋转不变 性。
[0011] 所述步骤(2)具体实现如下:
[0012] (21)通过三角网格的顶点位置建立能量方程,控制衣服压缩后的恢复特性;
[0013] (22)通过三角网格的边长建立能量方程,控制衣服在拉伸后的特性;
[0014] (23)通过三角网格的相邻面的二面角建立能量方程,控制衣服弯曲的特性;
[0015] (24)给上述三个能量方程中的三个参数设置不同的权重,模拟不同材料衣物在相 同作用力下的不同衣物褶皱产生效果。
[0016] 所述步骤(3)具体实现如下:
[0017] (31)对原始衣物网格和编辑后的衣物网格进行分析,分析衣物网格变形影响区 域,即衣物网格褶皱生成的区域;
[0018] (32)对步骤(31)所生成的区域进行衣物网格细分;
[0019] (33)对细分后衣物网格的不平滑现象进行网格平滑,达到增强衣物网格的褶皱效 果。
[0020] 本发明的原理为:
[0021] (1)给出了网格在不同微分域属性下能量场的表示与重建方案。首先针对拉普拉 斯坐标进行研究,把原始网格的笛卡尔坐标用拉普拉斯坐标表示,编辑原始网格,建立原始 网格和编辑网格的能量误差方程,利用最小二乘法对网格进行重建。针对拉普拉斯坐标在 平移、旋转和缩放的操作进行研究,发现拉普拉斯坐标不具有旋转和缩放不变性。因此,本 发明给出了保持拉普拉斯旋转和缩放不变性的解决方案,并通过和原方法进行对比实验, 验证了改进方法的通用性和真实性。
[0022] (2)为了更加真实的模拟不同材料衣服的褶皱效果,针对拉伸、弯曲、压缩三种基 本受力情况建立了不同的能量约束方程。该约束方程包括了点的能量控制、边的能量控制 和二面角的能量控制,通过调节三个能量约束方程的权重参数,生成不同的褶皱模拟效果, 从而模拟了多种材料衣服在相同操作下的不同褶皱效果。
[0023] (3)给出了加速网格重建和褶皱区域优化的方法。对于网格优化,针对高分辨率输 入网格,给出一种边折叠的网格简化算法,降低网格分辨率的同时减少了自由点的个数,从 而加快了网格重建速度。对于褶皱区域优化,首先对原始网格和变形网格进行形变分析,确 定形变影响的褶皱区域。然后针对该区域进行局部网格细化,增加褶皱区域的细节。最后针 对由感兴趣区域的选择和编辑网格的重建导致的网格不平滑的区域,进行局部的网格平滑 操作,从而得到更加精细逼真的褶皱效果。
[0024] 本发明与现有技术相比的优点在于:
[0025] (1)本发明大大提高了衣物褶皱的仿真速度,根据柔性衣物的特点优化了基于微 分域的网格表示方法。
[0026] (2)根据衣物材料的特性,添加了不同的能量方程,解决了在相同操作下衣服褶皱 模拟相同的难题。
[0027] (3)针对编辑后的网格进行了优化,提高了仿真的逼真效果。
【附图说明】
[0028]图1为本发明的方法实现流程图;
[0029] 图2为基于边和角的类拉普拉斯能量函数示意图;
[0030] 图3为裙子网格正面和背面形变分析图;
[0031] 图4为裙子简化网格视图;其中(a)Butterfly法的网格简化正面和背面,(b)为 Loop法的网格简化的正面和背面;
[0032] 图5为基于点对收缩的网格简化图;
[0033]图6为三角网格形变张量图解;
[0034]图7为邻域顶点对新生成点的权重值。
【具体实施方式】
[0035]如图1所示,本发明具体实施如下:
[0036] -、基于拉普拉斯坐标能量场的建立与优化
[0037] 步骤一:微分坐标又名拉普拉斯(Laplacian)坐标,是Alexa率先提出并应用于网 格变形和网格编辑中,用来描述某顶点和其一阶邻域点之间的关系。
[0038] 假定初始的衣物网格为Μ,记M = (V,E,F),其中V为网格顶点的集合,E为网格边的 集合,F为网格面的集合。其中顶点集合可以表示为V = [v.lVijf, ...._i4"]T,vi=[viX,viy,viZ]Te R 3。假设衣物网格所有顶点拓扑相连,则称与顶点Vl直接相连的点组成的集合为顶点Vl的一 阶邻域,记为Ni= {j | (i,j) eE}。根据顶点vi和一阶邻域Ni,可以得到vi的微分坐标5i:
[0039] δ? = = vt - TjeN^ijVj Π .1 >
[0040] 其中是与边eij相关的边的权重,一般情况下,相加和等于1。为了简化描 述,可以采用Unit权重方案:
.di= |N(i) |为Vi的度,即其邻接顶点个数。
[0041 ]微分坐标和笛卡尔坐标的转换关系可以记为:\ = φ β由此可知网格的原始 笛卡尔坐标可以通过矩阵变换转换为拉普拉斯坐标。记Α为衣物网格的邻接矩阵,表示顶点 之间的拓扑关系:
[0043] D为顶点度的对角矩阵:则可得到笛卡尔坐标到拉普拉斯坐标的转换矩阵L= I-『 1。假设矩阵为L=〇^),那么:
[0045] 因此,拉普拉斯坐标和笛卡尔坐标的矩阵变换可表达为:Δ =LV。为了保持局部几 何细节,应保证变形后的拉普拉斯坐标不变,则有:
[0046] Δ =LV7 (1.4)
[0047] 根据此方程便可求解变形后网格的笛卡尔坐标,但是矩阵的秩为n_k,n为衣物网 格顶点的数量,k为衣物网格的联通量,一般情况下k等于1,小于方程变量的个数n,因此方 程是奇异的,可以得到无穷多个解。为了求得变形后网格精确解,需要至少固定变形衣物网 格中的一个点。记网格的固定点坐标为m,则有:
[0048] v7 i = Ui, i e {m, ··· ,n} ,m<n (1.5)
[0049] 由此可以通过拉普拉斯坐标网格和控制点的约束建立原始网格与编辑网格的能 量误差方程:
[0051]上式可以利用最小二乘解的方法,求解自由点/1,1^{1,一,1!1-1},得到编辑后的 衣物网格。进而重建衣物网格在确定固定点后的矩阵方程更新为:
[0053]其中ω为衣物网格上控制点对周围网格变形影响程度的权重。为了方便矩阵求 解
[0054] Δ7 =L7 Ψ (1.8)
[0055] 观察上式,1/矩阵是基于网格顶点的邻接矩阵建立的,因此是个庞大的稀疏矩阵。 为了加快稀疏矩阵的求解。需要对矩阵正定化,然后进行正定分解。因此,在上述等式两边 同时乘0/ )τ,并记〇/ )ΤΙ/ =A,〇/ )ΤΔ ' =B,最终调整后的矩阵方程为:
[0056] AV,=B (1.9)
[0057] 该方程可以利用Cholesky分解法、LDLT分解法或者LLT分解法进行求解。
[0058]步骤二:为了在重建过程中寻求保持旋转不变形的方案,首先观察由上一章得出 基于拉普拉斯变换和控制点的能量误差方程:
[0060]本方案将对次方程进行改进,主要解决方法是为每个顶点^在最终编辑后的新网 格上计算一个近似变换!^,来保证缩放和旋转的不变形。因为TdV )是,的函数,所以可以 得到能量误差方程:
[0062] 注意^和疒都是未知的。然而如果系数1\是疒的线性函数,那么求解出疒意味着得 到了,因此Ε(ν')可以当作未知变量只有疒的二次方程。
[0063] 现在需要寻求一种的解法,可以从顶点Vl和其一阶邻域得到,那么根据原始网格 和目标网格定义如下的误差方程:
[0065] 的平移部分由齐次坐标可以得到。其线性部分应该满足如下的条件:变化代表 在目标结构中应该是一个线性方程,但是对各项同性的缩放和旋转存在约束,代表各向同 性的缩放和旋转的类矩阵可以描述为:
[0066] T = s exp(H) (1.13)
[0067] 其中Η是一个反对称矩阵。在三维坐标中,反对称矩阵和某个向量的乘积可由向量 积来表示,如(1.14)式所示:
[0068] Hx = h*x; (1.14)
[0069] 结合3*3斜矩阵的一些其他属性,可以得到如下的指数表达式:
[0070] S exp H=s(al+0H+γ hTh) (1.15)
[0071] 观察(1.15)式,发现对于未知量s和h,只有I,H和s是线性的,而hTh是二次的,为了 对约束变形类的取近似值,令:
[0073]上述矩阵是对衣物旋转变化的线性近似。
[0074]由此可以显式的写出定义在V上的Ti的线性依赖。记(Si, hi, ti)%Ti上未知的向 量,那么可以通过最小化方程得到:
[0075] |Ai(si,hi,ti)T-bi| |2 (1.17)
[0076] 其中Ai包含了原始网格顶点Vl的坐标和一阶邻域的坐标,h包含了目标网格顶点 Vi的坐标和其一阶邻域的坐标。分别表示如下:
[0079] (1.11)式所描述的线性最小二乘解可通过下式进行求解:
[0080] (si,hi,ti)T=(AiTAi)_1Ai Tbi (1.20)
[0081] 由此可知Ti的系数(&,1π,ωτ表现为bi的线性函数。
[0082] 根据旋转和缩放的控制矩阵,即可在一次重建过程中就能保持衣物网格的缩放和 旋转不变性。
[0083] 二、针对不同材料的衣物的褶皱模拟。
[0084] 基于微分坐标的能量场可以很好的保持几何细节,但是对于用户的同一次编辑操 作,得出的变形效果是唯一的。为了针对同样的编辑操作可以产生不同的褶皱效果,即仿真 不同材料衣服的褶皱效果,本小节将依次添加顶点的约束方程,边的约束方程和相邻二面 角的约束方程控制衣服恢复、拉伸和弯曲的特性。
[0085] 步骤一:建立基于点的能量约束方程
[0086] 根据衣物网格形变的要求,衣物在压缩后恢复特性的几何度量和网格的顶点位置 密切相关,即网格三角面片上的每个顶点的位置发生了变化。形变后的网格顶点位置应该 逼近初始网格的顶点位置,因此,通过优化后,发生形变的衣物目标网格和初始网格之间需 要定义一个能量约束,反应真实衣物所具有的恢复特性。顶点约束主要有两个目的,一个是 保持原始网格固定顶点的位置信息,另一个是在每次变形中保持用户的对控制点的移动趋 势。因此可以得到基于顶点的能量约束方程:
[0087] Ev = Σ?!=(,||ν; - ^11" (1.21)
[0088] 这个公式控制了当前网格顶点^丨^^^^丨逐渐接近目标网格顶点^,^^^^, ζ\),原始网格和目标网格的顶点差距可以由欧拉公式计算获得。
[0089] 如果对微分域网格方法只加入顶点的能量约束,会获得如3.5.1小节的裙子褶皱 效果,并不符合网格裙子编辑后的真实效果。因此,本节考虑在此基础上加入对网格边长和 二面角的能量约束方程。
[0090] 步骤二:建立基于边长和二面角的类拉普拉斯特性能量约束方程
[0091] 如果只有顶点的约束方程,而没有边长度和角度的约束方程,变形结果只会产生 类薄膜效果。根据衣服和布料两个最基本的特性是:拉伸和弯曲。因此可以建立边长的能量 约束方程控制衣物拉伸程度,建立二面角的能量约束方程控制衣物弯曲的程度。下面类比 点约束的微分特性给出边长和二面角约束的类拉普拉斯方程。
[0092]如图2所示,假设给定边,是点1和m分别是公共边的两个三角形的第三个点 可以计算边eij的法向:
[0094]其中"4?和111,1^分别是两个共享同一条边的三角形的面积和方向。最后,针对边 eij得到类拉普拉斯性质:
[0096] 其中pij = avi+(l_a)vj,qij = 0vi+(l-0)vm。系数〇和0的选取使〇ij平行于边的法线 mj。在等式(1.23)中,的设计是为了控制边的长度,是为了控制相邻两个三角形的二 面角。
[0097]类似于基于顶点的方法,新增两个能量方程,分别利用边长和二面角来控制局部 的拉伸和弯曲程度:
[0099] 这里P' ij和σ' ij通过矩阵Tij转换而来,即P' = ifTijOij。为了生成变形 的网格M' =(V',E),需要用最小二乘思想求解下面的方程的最优解:
[0100] ???ην,λΕρ+μΕσ (1.25)
[0101] 在上式中,λ和μ是边长和二面角控制的权重。由此可以得到关于点、边和面的总能 量约束方程:
[0102] minv,ωΕν+λΕΡ+μΕ。(1.26)
[0103] 三个权重因子ω,λ,μ则由用户指定。
[0104]三、网格和褶皱区域的优化方法。
[0105] 此处将对网格加速重建和褶皱区域优化进行研究。对于网格加速重建,提出网格 的简化方案,减少自由点求解个数。对于褶皱区域优化,本章首先对原始衣物网格和目标的 衣物网格进行形变分析,确立变形影响的褶皱区域。然后对该区域进行局部细化,最后在细 化的基础上对褶皱区域进行局部平滑。下面将从以下四个方面详细论述具体解决方案:(1) 网格简化的研究;(2)网格形变分析的研究;(3)网格褶皱区域细化的研究;(4)网格褶皱区 域平滑的研究。
[0106] 步骤一:基于点对收缩的网格简化。该方法基于顶点对的迭代收缩。记网格上的某 条边为e= {vi,V2},通过顶点对收缩,{vi,V2}被记为新顶点V来代替。把所有与VI相连接的边 连接到V再删除顶点V2。然后删除所有退化的边和面。该操作收缩小且高度的局部化。如图5 所示,如果相连接,则删除上述所描述的边和三角形。否则,把两个不相连的部分进行 连接。
[0107] 对点对的收缩进行更一般的描述,(vi,V2,…,vk)-v,把一个顶点集合收缩到一个 顶点。这种广义的收缩涵盖了对顶点对收缩和顶点聚类更通用的描述,本方法把点对收缩 作为一个原子操作,因为该操作是网格收缩中最小的集合收缩。
[0108] 记初始的网格为1,通过不断的使用点对收缩直至达到简化目标生成近似网格Mg。 由于每次收缩对应当前模型的局部增量修改,因此该算法会产生一系列的模型ΜμΜη,…, Mg.因此该算法可以产生多分辨简化模型。
[0109]首先进行点对的选择,在初始网格上选定有效的点对集合,并把该集合作为整个 简化过程中不断更新和修改的集合。新生成的点要接近原始顶点的位置,做到很好的逼近。 如果点对(,v2)满足下列条件之一,则称( V1,v2)为一对有效的点对。
[0110] (l)(V1,V2)是网格某条边的两个顶点;
[0111] (2) | |vi-V2| |〈t,t是一个阈值参数。
[0112] t = 0是最简单的边收缩方案,较大的阈值会允许非连接点加入到点对集合中。因 此需要谨慎的选择阈值,过大的阈值会导致网格收缩严重,影响简化效果。
[0113] 在整个迭代收缩的过程中,需要实时更新点对集合,保持点对集合的有效性。对于 点对集合里的每一个点对都要和当前网格的顶点联系起来。当执行操作( V1,V2)-V时,不仅 仅需要把V2的关联的边连接到VI,而且还需要把V2相关的点对更新到VI的相关点对集合中, 把点对中多有V2替换成VI,并且去掉重复的点对。
[0114] 选定了所有的点对集合后,需要对点对的取舍进行判断,本小节给出一个基于二 次曲面的误差逼近,用于判断是否对点对进行更新。
[0115] 对于点对的收缩,采取迭代方法。在每次迭代过程中,为了选取一个收缩的点对, 需要定义点对的权值。而为了描述点对的权值,需在顶点上定义描述误差。首先,记衣物网 格上所有包含点V的三角网格集合为P(V)。定义描述误差为△ (V),表示顶点V到P(V)的二次 误差。那么△ (V)可以用顶点V到P(V)集合内所有三角形距离的平方和表示:
[0116] Δ (v) = EPep(v)(vTp) (pTv) =vT( Epep(v)Kp)v (1.27)
[0117] 其中,顶点ν= [vx,vy,vz, 1]τ,ρ为表示平面方程ax+by+cz+d = 0的一维向量,记为: ? = [&々,(3,(1]\1([)描述任意一点到平面?的空间距离,可用4*4的对称矩阵表示 :
[0119] 在每次点对收缩的迭代过程中,必须先计算Δ(ν),点对(V1,V2)的二次误差记为P (V1)UP(V2)的合并空间集内二次误差,并设新的顶点v是使值最小的点。如果计算出 的值小于预定的阈值,就把点对进行收缩操作,反之则不进行操作。
[0120] 对于选定的收缩点对,需要进行以下三个更新操作:
[0121] (1)在原三维平面集合中删除p(vl)np(V2)集合;
[0122] (2)将顶点^改为顶点v;
[0123] (3)修改v2的平面集合P(v2),把^的索引更改为 V1的索引
[0124] 网格的简化过程就是循环上面的三个步骤,直到得到满意的网格简化效果。
[0125] 步骤二:网格形变分析和褶皱区域的确定。为了研究编辑操作对重建网格的影响 区域,本节对原始网格和变形网格进行形变分析。针对衣物网格上的三角面片进行分析,当 网格上的三角面片产生的形变越大,说明该网格区域受到的作用力越大。基于数学分析和 物理分析,研究者提出了众多衡量网格三角面片的形变方法。在计算机图形理论中,Sander
[52]等人通过定义一系列的变形公式,来分析网格的形变大小。而在连续介质力学理论中, 通常把拉伸张量作为描述子,来衡量力的形变大小。将采取Talpaert[53]等人提出的基于连 续介质力学的形变分析方法。
[0126] 如图6所示,假设吾代表编辑网格,S代表相应的原始网格。对于二维平面,从§到对 应S部分的仿射变换可以由一个2*2的矩阵T来表示:
[0127] Τ =\ιι{,α^?Λ,"?ι\ ' (1.29)
[0128] 其中(?2)和(ui,U2)分别代表编辑网格和原始网格在局部坐标中三角形二维平 面的边向量。如果变化矩阵满足Τ τ = ?^,则变形是等距变换。2*2的对称正定矩阵
被称为拉伸张量,是定义在连续介质力学中右柯西-格林形变张量的平方 根,是一种很优的压缩和伸长测量方法。假设在衣物网格中不存在退化三角形,那么U可以 用如下对角矩阵表示:
[0129] υ = λ?θ?θ?τ+λ2θ2θ2Τ (1.30)
[0130] 其中ejPe2是相应的单位特征向量,代表主要的拉伸和收缩方向。λ#Ρλ2是2*2矩 阵正实数的特征值,这里假设λΚλ^λ:可以衡量网格形变量的大小,当\ 1越大时形变量越 小。因此,网格形变分析的问题转化为特征值和特征向量求解问题,本章将采取经典的雅克 比方法进行求解。
[0131] 本实验探究网格编辑后的形变的区域,由于感兴趣区域和变形区域控制点的选 取,网格上自由点发生了空间的移动,产生了新的褶皱,为了分析形变前和形变后的网格形 变区域,该实验对原始网格和形变网格进行形变分析。如图3所分别形变前网格的原始网 格、形变网格和变形张量的正面和背面视图。
[0132] 本实验通过对三角网格的特征向量求解后进行排序,形变小到大,然后依次对排 序的三角形着上渐变的颜色。如图3所示,颜色越深,网格形变越大,颜色越浅,网格形变越 小。对比原网格和编辑网格的视图,网格的形变色彩图和网格间的变化趋势一致。产生新的 褶皱的区域颜色越深,网格形变越小的地方颜色越浅。因此,可以根据网格的形变分析图, 选择一个颜色阈值定位裙皱区域,从而可以在一定范围内自动确定裙皱形变区域。
[0133] Butterfly是一种插值细分方法,因为其插值顶点的形状类似于蝴蝶,所以被称之 为蝶形细分法。在拓扑规则上,蝶形细分方法和Loop细分方法的细分规则相同,但是在几何 规则上,却有一定的区别。
[0134] 经过蝶形细分方法而产生的新的顶点分为两类,一类是V顶点,一类是E顶点。V顶 点是由原网格上的三角形顶点所产生的顶点。E顶点是由原网格的三角形边产生的顶点。
[0135] 蝶形细分方法对E顶点的处理可以分为三类:
[0136] 第一类是网格内的任一边的两个顶点的度均等于6时,当计算新点时,需要用到八 个顶点的坐标,此八个顶点对新顶点的贡献值如图7所示,根据图7中8个顶点的权重即可计 算第一类情况新点的坐标。
[0137] 第二类是在网格内的某条边的两个端点中有一个度不等于6或者两个均不等于6。
[0138] 此时记不等于6的顶点的度为η。对于η可分三种情况计算,当η多5时,该点的对顶 点的贡献值可以记为:
[0148] 通过三类的网格顶点即可计算所有的新生成顶点。
[0149] 通过上个实验可以分析出形变较大的褶皱区域,本实验首先在这个基础上对褶皱 区域进行细化,由于本实验和实验一是个可逆过程,可知增添褶皱形变区域的网格分辨率 可以在一定程度上增强褶皱的效果。由于基于感兴趣区域的选取的网格重建和局部区域的 网格细化,可能会导致网格表面出现不平滑现象。针对此现象,本实验提出了一种网格平滑 的方法。对此本章给出三组实验结果。
[0150]图4中的(a)和(b)分别给出的Butterfly简化法和Loop细化法的正面和背面视图, 细化的网格均在原网格的基础上进行了一次细化迭代,细化后的网格一共有4886个顶点, 9544个面。观察本发明所采取的Butterfly细化法和Loop细化法的正面细化网格视图和背 面细化网格视图,两者在平滑区域的细化效果相当,但是在褶皱区域,前者保持了更好的细 化几何细节,使褶皱效果明显增强,后者的增强效果不如前者。
【主权项】
1. 一种基于拉普拉斯坐标的不同材料衣物仿真及优化方法,其特征在于通过以下步骤 实现: (1) 读取衣物网格数据,根据衣物网格数据为原始衣物网格的笛卡尔坐标建立拉普拉 斯坐标的微分坐标,在拉普拉斯坐标的微分坐标中针对衣物网格在旋转情况下,通过重建 的失真的情形修复方法,得到编辑后的衣物网格,建立原始衣物网格与编辑后的衣物网格 的能量误差方程,在旋转操作下保持衣物网格的缩放和旋转不变性; (2) 在步骤(1)建立的微分坐标上,根据衣服的特性为压缩,拉伸和弯曲添加不同的约 束能量方程,调节不同能量方程的系数模拟不同的褶皱效果,从而得到了不同材料衣服的 褶皱效果; (3) 在对步骤(1)得到的编辑后衣物网格上,进行加速衣物网格求解和褶皱区域优化, 提升编辑后衣物网格的求解速度;得到更加真实的褶皱编辑效果。2. 根据权利要求1所述的基于拉普拉斯坐标的不同材料衣物仿真及优化方法,其特征 在于:所述步骤(1)的重建的失真的情形修复方法通过以下步骤实现: (11) 根据编辑后的衣物网格,对每个顶点在最终编辑后的新网格上计算一个近似变 换,建立新的能量约束方程; (12) 根据步骤(11)中的近似变换,转化为矩阵形式,得到旋转和缩放的控制矩阵,根据 旋转和缩放的控制矩阵,即可在一次重建过程中就能保持衣物网格的缩放和旋转不变性。3. 根据权利要求1所述的基于拉普拉斯坐标的不同材料衣物仿真及优化方法,其特征 在于:所述步骤(2)具体实现如下: (21) 通过三角网格的顶点位置建立能量方程,控制衣服压缩后的恢复特性; (22) 通过三角网格的边长建立能量方程,控制衣服在拉伸后的特性; (23) 通过三角网格的相邻面的二面角建立能量方程,控制衣服弯曲的特性; (24) 给上述三个能量方程中的三个参数设置不同的权重,模拟不同材料衣物在相同作 用力下的不同衣物褶皱产生效果。4. 根据权利要求1所述的基于拉普拉斯坐标的不同材料衣物仿真及优化方法,其特征 在于:所述步骤(3)具体实现如下: (31) 对原始衣物网格和编辑后的衣物网格进行分析,分析衣物网格变形影响区域,BP 衣物网格褶皱生成的区域; (32) 对步骤(31)所生成的区域进行衣物网格细分; (33) 对细分后衣物网格的不平滑现象进行网格平滑,达到增强衣物网格的褶皱效果。
【文档编号】G06F17/50GK106096130SQ201610407262
【公开日】2016年11月9日
【申请日】2016年6月12日
【发明人】何兵, 曾建峰, 吕越
【申请人】北京航空航天大学