为了快速正确地对各种复杂程度(开放、封闭)的网格模型进行空间布尔运算,根据复式网格的可定向性建立各元素间的拓扑关系,并根据这些拓扑关系判断网格面片的最终去舍,得到布尔运算结果.算法首先对网格方向一致化,然后通过相交测试求出两两相交三角形面片之间的交线,再由相交三角形与它的交线得到多边形,并对该多边形进行三角化,得到"结果交域",最后根据这些"结果交域",以及各元素间的邻接关系判断其他网格的取舍,得到最终结果.实验表明该算法结果正确、计算量少、速度快,同时适应于封闭与开放网格模型.
In order to implement Boolean operations on open or closed mesh models with different complexities correctly, a new algorithm for 3D mesh model by using Boolean operations is presented, which is based on the orientability of manifold meshes and the topological relationship of the meshes. The intersection test between every two triangles from two different models was taken to get the intersection segments. The polygon was obtained by the composition of intersected triangles and intersection segments, and triangulated to get the result intersected region. The acceptance and rejection of the other meshes were determined to obtained the ultimate result, based on the result intersected region and their neighborhood of these meshes. In the algorithm, the orientability, topology and any other geometric characteristics were made full use of so as to reduce computation cost and adapt to both closed mesh and open mesh models.