发明名称 一种基于三角形折叠的三维网格模型的简化方法
摘要 本发明提供一种基于三角形折叠的三维网格模型简化方法,所述简化方法通过顶点投影计算模型中各三角形的折叠点,对网格图形中的几何元素进行折叠,以实现简化目的,并结合简化时产生的体积误差、最大面积值以及法向量误差对简化进行误差控制。本发明提出的简化方法解决了三维图像数据传输量、存储量过大的问题,并在减少简化模型误差的同时有效地保持了原始模型的几何特征,在计算机辅助设计、医学图像系统等领域有着重要的应用价值。
申请公布号 CN102881044B 申请公布日期 2015.07.01
申请号 CN201210369882.X 申请日期 2012.09.27
申请人 重庆大学 发明人 段黎明;张霞
分类号 G06T17/00(2006.01)I 主分类号 G06T17/00(2006.01)I
代理机构 重庆大学专利中心 50201 代理人 胡正顺
主权项 一种基于三角形折叠的三维网格模型的简化方法,其特征在于:包括以下步骤:1)获取被测物体的三角网格模型;所形成的三角网格模型由工业CT断层图像采用MC(Marching Cubes)算法重建获得;所述三角网格模型的三角形用T<sub>i</sub>表示,i为三角形的编号,用v<sub>j</sub>表示三角网格模型中各顶点,j为顶点的编号;与顶点v<sub>j</sub>直接相邻的所有三角形,用<img file="re-FDA0000702985870000011.GIF" wi="254" he="71" />表示;同样,所述三角形T<sub>i</sub>的一阶邻域三角形定义为:三角形T<sub>i</sub>各顶点的一阶邻域三角形且不包括T<sub>i</sub>本身的所有三角形的集合,用<img file="re-FDA0000702985870000012.GIF" wi="200" he="67" />表示;2)确定所述三角网格模型中每一个三角形的折叠点,即进行折叠时,将T<sub>i</sub>的三个顶点合并成一个新点v<sub>i0</sub>;3)分别计算按照每一个折叠点进行折叠时,所产生的误差,即折叠后的模型与初始模型之间的体积误差值Vi,i=1,2,3…,n,代表三角形的编号,折叠后受影响的三角形的最大面积值S<sub>i</sub>、折叠后受影响的三角形的法向量在折叠前后所产生的最大角度误差值α<sub>i</sub>;4)将所有V<sub>i</sub>值从小到大排序并存入链表,同时与V<sub>i</sub>对应的三角形的编号、S<sub>i</sub>、α<sub>i</sub>也存入链表中的相应结点;5)当所述链表中第一个元素存放的体积误差值大于用户所定义的体积阈值Y<sub>V</sub>时,简化操作结束;当所述链表中第一个元素存放的体积误差值小于用户所定义的体积阈值Y<sub>V</sub>,且所述链表中第一个元素存放的S<sub>i</sub>值小于用户所定义的最大面积阈值Y<sub>S</sub>,且所述链表中第一个元素存放的α<sub>i</sub>值小于用户所定义的角度阈值Y<sub>α</sub>时,按照所述链表中第一个元素所对应三角形的折叠点对模型进行折叠简化,并按2)、3)中的计算方法重新计算简化时受影响区域各三角形的折叠点和误差,更新4)中的链表,之后再重复步骤5);当所述链表中第一个元素存放的体积误差值小于用户所定义的体积阈值Y<sub>V</sub>,且所述链表中第一个元素存放的Si或αi值分别大于用户所定义的最大面积阈值Y<sub>S</sub>和角度阈值Y<sub>α</sub>,则对应三角形不进行折叠简化,之后选择所述链表中第二个元素,采用步骤5)中判断所述链表中第一个元素的方法进行判断,以此类推,当到达链表的表尾或当前判断元素的体积误差大于用户所定义的体积阈值,简化操作结束。
地址 400044 重庆市沙坪坝区沙正街174号