几何中的布尔操作
1. 功能说明
Unite(并集):组合两个体(面)组成第三个。
Subtraction(差集):从一个体(面)中减去另一个形成第三个。
Intersection(交集):取两个体(面)共有的部分构成第三个。
2. 算法实现
- 将一个体(面)的每个边界(即面和边)与另一个体(面)的每个边界进行比较。
- 在发现边界相交的地方,将体(面)分割。
- 新分割的边界部分被标记为位于另一个体(面)边界的内部(In)或外部(Out)。
- 在执行 Union 时,标记在外部的分割部分被保留,而内部部分被删除。
- 在执行 Intersection 时,只保留内部部分。
- 在执行 Subtraction 时,使用第一个体(面)的外部部分和第二个体(面)的内部部分(如果边有方向,此时需要进行反向)。
- 在计算出所有的边界后,将不需要的部分删除。
多面体的欧拉公式
多面体(没有通孔或孔循环)的欧拉公式:
其中: 代表点的数量, 代表边的数量, 代表面的数量。