我有一个定义 3D 对象的表面列表。这些曲面具有以下约束:
- 每个表面都由定义其边界的顶点数组定义
- 表面内没有孔
- 表面不重叠或穿过其他表面
- 包含曲面每条边上的每个顶点
- 所有表面都与至少两个其他表面相邻
- 由这些表面创建的对象可能是凹的
我想获得由这些表面创建的 3D 对象的外壳 - 3D 对象内部没有空白空间
有人知道算法吗?
问题:
.) 我已经可以排除所有边缘仅接触该表面的表面
- 每个表面边是至少 2 个表面的一部分
然而,图像 4 个立方体仅在 1 个边缘相互接触,因此可以在它们之间创建一个不属于任何 3D 对象的表面
[]
[] []
[]
.) 获得仅部分船体表面的 3D 对象很容易。但是,如果 3D 对象内部有表面并连接到船体,我如何找到这些表面?
任何指针都会很棒。提前致谢