发明名称 三维网格模型的剖切方法
摘要 本发明涉及三维虚拟场景中的三维网格模型的数据结构和实时剖切操作,特别涉及对保证这种操作剖切成的子三维网格模型的完整性,以及和原三维网格模型数据结构一致性的三维网格模型的剖切方法。本发明直接在三角网格模型的顶点数组和三角面片数组上实现三角网格模型的平面剖切,避免计算并建立半边数据结构所需的系统开销。若三维网格模型的面片不是三角面片,需要将每个面片剖分为多个三角面片,从而将三维网格模型转化为三角网格模型。
申请公布号 CN101441780B 申请公布日期 2012.01.11
申请号 CN200810197509.4 申请日期 2008.11.05
申请人 武汉大学 发明人 王泉德
分类号 G06T17/00(2006.01)I 主分类号 G06T17/00(2006.01)I
代理机构 武汉天力专利事务所 42208 代理人 冯卫平;程祥
主权项 一种三维网格模型的剖切方法,其特征在于,包括以下步骤:步骤一,模型转换装置将三维网格模型转换为三角网格模型;具体的转换方法如下:步骤2.1,三角面片剖分单元将三维网格模型的各个多边形面片剖分为三角形面片;步骤2.2,数组组合分配单元将上述步骤2.1中剖分的三角形面片的顶点数组和三角面片数组存储到数组存储单元,完成所有三角面片的信息添加分配后得到的三角面片数组和顶点数组即构成了三角网格模型,其中顶点数组的每个元素存储有包括一个顶点的三维坐标、法线向量和纹理坐标,三角面片数组中每三个元素表示一个三角面片;步骤二,模型剖切预备装置对步骤一中转换后的三角网格模型指定剖切方向和剖切线;步骤三,模型剖切装置对步骤二中已经指定剖切方向和剖切线的三角网格模型进行剖切,具体方法是,由剖切面片判断单元对步骤一中若干三角面片是否与剖切面相交选择执行下面步骤:步骤5.1,若剖切面片判断单元判断剖切面与剖切后的三角面片不相交:首先由三角面片位置判断单元判断三角面片位于剖切面的正侧或反侧,数组组合分配单元将三角形面片的信息添加分配到正侧或反侧子三角网格模型的三角面片数组和顶点数组中,并将三角面片数组和顶点数组存储到数组存储单元中,完成所有三角网格模型的所有三角面片的信息添加分配后得到的正侧和反侧三角面片数组和顶点数组即构成了正侧和反侧的子三角网格模型一;步骤5.2,若剖切面片判断单元判断剖切面与剖切后的三角面片相交,则按照以下步骤进行:步骤5.21,首先由多边形面片剖分单元将三角面片剖分为位于正侧和反侧的两个多边形面片,然后由三角面片剖分单元将正侧和反侧的两个多边形面片剖分为三角形面片,数组组合分配单元将剖分为三角形面片的信息添加分配到正侧或反侧子三角网格模型的三角面片数组和顶点数组中,并将三角面片数组和顶点数组存储到数组存储单元中,完成所有三角网格模型的所有三角面片的信息添加分配后得到的正侧和反侧三角面片数组和顶点数组即构成了正侧和反侧的子三角网格模型二;步骤5.22,交点计算单元根据三角面片与剖切面的所有交点计算剖切截面的剖面多边形;步骤5.23,三角面片剖分单元将步骤5.22中剖面多边形剖分为三角面片,数组组合分配单元并将剖分后的三角面片信息添加到正侧和反侧子三角网格模型的三角面片数组和顶点数组中,并将三角面片数组和顶点数组存储到数组存储单元中,完成所有三角面片的信息添加分配后得到的该剖切截面的子三角网格模型三。
地址 430072 湖北省武汉市武昌珞珈山