欢迎访问《图学学报》 分享到:

图学学报

• 计算机图形学与虚拟现实 • 上一篇    下一篇

复杂开曲面的鲁棒布尔运算

  

  1. 中国科学技术大学数学学院,安徽 合肥 230026
  • 出版日期:2020-02-29 发布日期:2020-03-11
  • 基金资助:
    国家自然科学基金项目(61672482)

Robust boolean operations for complex non-closed surfaces

  1. School of Mathematical Sciences, University of Science and Technology of China, Hefei Anhui 230026, China
  • Online:2020-02-29 Published:2020-03-11

摘要: 在计算机辅助几何设计中,布尔运算是一种构造实体的常用方法。自从19 世纪
80 年代布尔运算被提出后,该方向的研究工作大多是在效率与鲁棒性间做权衡,为了保证输入
网格表示某个实体的边界,大部分算法严格要求其没有洞和边界边。故此提出一种与上不同的
高效的、鲁棒的适用广的布尔运算算法,其能在非实体网格上被执行。首先,将输入网格合并,
然后在解决合并出现的自交问题后,将网格沿着非流形边分割成许多不同的流形块,并且检测
出流形块所围成的胞体;然后通过添加虚拟流形块的方法计算胞体的环绕数,并标记胞体关于
输入网格的属性,从而得到正确的布尔运算结果。

关键词: 网格, 布尔运算, 非封闭, 环绕数

Abstract: Boolean operation is a common approach for constructing complex solid geometries in
computer-aided geometric design. Since it was introduced in the 1880s, most of the research on it is
trading off between efficiency and robustness. And most of the algorithms require strictly that input
meshes have no cavity and boundary edges, which ensures that inputs can serve as boundary
representations for some solids. Quite different from the methods mentioned above, this paper
proposes an efficient, robust and wildly-adaptive method of Boolean operation, which could be
applied to non-solid meshes. Firstly, we merge input meshes into one mesh, then split it into different
patches along non-manifold edges after resolving the intersection issue of the merge, and identify all
cells surrounded by those patches. Next, we calculate the winding number of each cell by adding
virtual patches, tag the special properties of the cell in every input mesh, and consequently acquire the
correct result of Boolean operation.

Key words: mesh, Boolean operation, non-closed, winding number