主权项 |
一种三维网格模型的剖切方法,其特征在于,包括以下步骤:步骤一,模型转换装置将三维网格模型转换为三角网格模型;具体的转换方法如下:步骤2.1,三角面片剖分单元将三维网格模型的各个多边形面片剖分为三角形面片;步骤2.2,数组组合分配单元将上述步骤2.1中剖分的三角形面片的顶点数组和三角面片数组存储到数组存储单元,完成所有三角面片的信息添加分配后得到的三角面片数组和顶点数组即构成了三角网格模型,其中顶点数组的每个元素存储有包括一个顶点的三维坐标、法线向量和纹理坐标,三角面片数组中每三个元素表示一个三角面片;步骤二,模型剖切预备装置对步骤一中转换后的三角网格模型指定剖切方向和剖切线;步骤三,模型剖切装置对步骤二中已经指定剖切方向和剖切线的三角网格模型进行剖切,具体方法是,由剖切面片判断单元对步骤一中若干三角面片是否与剖切面相交选择执行下面步骤:步骤5.1,若剖切面片判断单元判断剖切面与剖切后的三角面片不相交:首先由三角面片位置判断单元判断三角面片位于剖切面的正侧或反侧,数组组合分配单元将三角形面片的信息添加分配到正侧或反侧子三角网格模型的三角面片数组和顶点数组中,并将三角面片数组和顶点数组存储到数组存储单元中,完成所有三角网格模型的所有三角面片的信息添加分配后得到的正侧和反侧三角面片数组和顶点数组即构成了正侧和反侧的子三角网格模型一;步骤5.2,若剖切面片判断单元判断剖切面与剖切后的三角面片相交,则按照以下步骤进行:步骤5.21,首先由多边形面片剖分单元将三角面片剖分为位于正侧和反侧的两个多边形面片,然后由三角面片剖分单元将正侧和反侧的两个多边形面片剖分为三角形面片,数组组合分配单元将剖分为三角形面片的信息添加分配到正侧或反侧子三角网格模型的三角面片数组和顶点数组中,并将三角面片数组和顶点数组存储到数组存储单元中,完成所有三角网格模型的所有三角面片的信息添加分配后得到的正侧和反侧三角面片数组和顶点数组即构成了正侧和反侧的子三角网格模型二;步骤5.22,交点计算单元根据三角面片与剖切面的所有交点计算剖切截面的剖面多边形;步骤5.23,三角面片剖分单元将步骤5.22中剖面多边形剖分为三角面片,数组组合分配单元并将剖分后的三角面片信息添加到正侧和反侧子三角网格模型的三角面片数组和顶点数组中,并将三角面片数组和顶点数组存储到数组存储单元中,完成所有三角面片的信息添加分配后得到的该剖切截面的子三角网格模型三。 |