我正在尝试查找由两个3D凸多面体的重叠引起的多边形(我们的代码在c ++中,但我们也可以从另一种语言转换为c ++)。我们一直在研究多边形裁剪;但是,我们发现的大多数算法都是在2D中实现的,并说我们无需太多指导即可轻松转换为3D。例如,我们一直在研究Sutherland Hodgman算法,并正在考虑以下一种方法:
1)仅获取多面体的xy,yz,xz坐标并运行3D二维算法3次(尽管我们不确定该数学运算是否可以检出)
或2)将3D多面体转换为2D空间(我们有接触流形,接触点和穿透深度)并运行2D算法。
但是,对于2,我们不确定如何使用该信息来翻译多面体。有人对如何翻译我们的多面体有建议吗?
此外,我们不确定这两个选项是否是最佳选择。是否有任何开放源代码实施方式可以使我们由2 3D凸多面体的重叠所引起的多面体,或者如果没有,是否还有另一种最佳方法来找到重叠的形状?
提前谢谢