发明名称 一种局部刚性网格变形方法
摘要 本发明属于计算机图形学数字几何处理领域,特别涉及一种基于局部刚性原则来进行三维网格模型变形编辑的方法。目的在于提供一种具有良好变形效果与较好变形交互速度的变形编辑方法,对模型进行重用。方法中采用网格分割和流形调和变换来提高局部刚性变形编辑速度,网格分割将三维模型分割为几个部分,之后针对需要变形的部分作变形处理,再将几个部分进行拼接,大大加快变形速度,同时可以避免连接处的扭曲情况;流形调和变换可以使对应变形的线性方程组的维数大大降低,结果的可控性更高。
申请公布号 CN102054296A 申请公布日期 2011.05.11
申请号 CN201110022947.9 申请日期 2011.01.20
申请人 西北大学 发明人 耿国华;周明全;李欧洲;李康;杜卓明
分类号 G06T19/00(2011.01)I 主分类号 G06T19/00(2011.01)I
代理机构 西安恒泰知识产权代理事务所 61216 代理人 王彩花
主权项 1.一种局部刚性网格变形方法,其特征在于,所述方法通过下列步骤进行:步骤一,采用全局点特征的网格分割方法对读取的网格模型进行网格分割:(1)网格模型的每一个顶点<img file="805253DEST_PATH_IMAGE001.GIF" wi="22" he="35" />的全局点特征GPS表示为:<img file="35378DEST_PATH_IMAGE002.GIF" wi="371" he="62" />其中<img file="830158DEST_PATH_IMAGE003.GIF" wi="28" he="37" />为特征值,<img file="462128DEST_PATH_IMAGE004.GIF" wi="30" he="30" />为对应的在顶点<img file="926738DEST_PATH_IMAGE005.GIF" wi="23" he="36" />上的特征向量<img file="909738DEST_PATH_IMAGE006.GIF" wi="36" he="36" />值(2)在网格模型的顶点<img file="180313DEST_PATH_IMAGE005.GIF" wi="23" he="36" />中选择K个顶点作为初始的类中心<img file="666789DEST_PATH_IMAGE007.GIF" wi="22" he="26" />;(3)遍历网格模型所有顶点<img file="630197DEST_PATH_IMAGE005.GIF" wi="23" he="36" />,将其分配到最近的类中心<img file="834914DEST_PATH_IMAGE007.GIF" wi="22" he="26" />;(4)计算新的类中心<img file="909180DEST_PATH_IMAGE007.GIF" wi="22" he="26" />,以及误差值E;(5)循环执行该步骤中的(3),(4)直至最近两次迭代的误差值E之差的绝对值小于给定的阈值,其中<img file="244303DEST_PATH_IMAGE008.GIF" wi="176" he="69" />,<img file="378613DEST_PATH_IMAGE009.GIF" wi="88" he="39" />表示被分配到类别j的样本顶点;类别j代表K个类别部分中的某一个类别;步骤二,对分割后的网格模型分块采用流形调和变换:(1)使用网格模型的拉普拉斯算子建立拉普拉斯矩阵,该矩阵表示的是基于待变形网格模型的离散线性算子,矩阵的每个元素是表征待变形网格模型点对间的关系,所述关系或只是拓扑连接或是即有拓扑信息也有几何信息;(2)对该步骤(1)得到的矩阵进行特征分解,得到特征值和特征向量,所得到的特征值与特征向量对<img file="70625DEST_PATH_IMAGE010.GIF" wi="70" he="30" />即为流形调和基;(3)将定义在笛卡尔坐标系下的函数投影到流形调和基上,完成流形调和变换;步骤三,进行局部刚性变形:(1)利用流形调和基作用于待变形网格模型的拉普拉斯矩阵,得到最终的要求解的式子<img file="745320DEST_PATH_IMAGE011.GIF" wi="210" he="37" />(式1),其中:<img file="144072DEST_PATH_IMAGE012.GIF" wi="148" he="33" />表示为<img file="511599DEST_PATH_IMAGE013.GIF" wi="41" he="23" />大小的矩阵,为特征向量矩阵,n为变形区域顶点数,b为流形调和基下的顶点坐标,k为流形调和基数目,其中,<img file="300695DEST_PATH_IMAGE014.GIF" wi="48" he="32" />为<img file="779080DEST_PATH_IMAGE015.GIF" wi="95" he="29" />大小的矩阵,m为约束点数目,从第n+1行开始后的m行,每一行元素值为k个流形调和基在对应该行的约束点上的值;(2)利用拉普拉斯变形方法,计算待变形网格模型变形后的顶点位置初始值<img file="360234DEST_PATH_IMAGE016.GIF" wi="18" he="26" />;(3)在<img file="633084DEST_PATH_IMAGE017.GIF" wi="19" he="28" />已知的情况下,利用<img file="299689DEST_PATH_IMAGE018.GIF" wi="155" he="57" />、<img file="316186DEST_PATH_IMAGE019.GIF" wi="225" he="103" />计算对应每个顶点的局部旋转<img file="683670DEST_PATH_IMAGE020.GIF" wi="21" he="30" />,其中<img file="65104DEST_PATH_IMAGE021.GIF" wi="27" he="32" />为<img file="219005DEST_PATH_IMAGE022.GIF" wi="119" he="56" />,<img file="976877DEST_PATH_IMAGE023.GIF" wi="30" he="31" />和<img file="267044DEST_PATH_IMAGE024.GIF" wi="32" he="32" />是与边ij相对的两个夹角;(4)利用该步骤中的(3)得到的<img file="147275DEST_PATH_IMAGE025.GIF" wi="17" he="25" />值更新(式1)中的b值,然后求解(式1)得到新的顶点位置值<img file="460576DEST_PATH_IMAGE026.GIF" wi="19" he="28" />;(5)将<img file="818876DEST_PATH_IMAGE027.GIF" wi="19" he="27" />代替<img file="229129DEST_PATH_IMAGE017.GIF" wi="19" he="28" />,重复该步骤中的(3)、(4)直至前后两次迭代计算的误差小于给定的阈值,其中<img file="890048DEST_PATH_IMAGE028.GIF" wi="135" he="50" />,<img file="770540DEST_PATH_IMAGE029.GIF" wi="26" he="33" />是<img file="807898DEST_PATH_IMAGE030.GIF" wi="25" he="30" />的一邻接点,<img file="72657DEST_PATH_IMAGE031.GIF" wi="28" he="30" />为<img file="170057DEST_PATH_IMAGE032.GIF" wi="126" he="52" />;步骤四,采用变形迁移,得到变形结果:(1)建立源网格模型和目标网格模型之间的对应关系;(2)计算由源网格模型的变形导致的变换; (3)将该步骤(2)中得到的变换通过对应关系映射到目标网格模型,即产生了目标网格模型的变形结果。
地址 710127 陕西省西安市长安区郭社教育科技产业园区学府大道1号