我正在尝试为 C++ 编写一个函数,该函数可以检查两个多边形的并集并消除由于浮点错误或其他各种小故障原因而未被正确剔除的任何剩余面。
是否有一种好方法可以识别完全共面并包含在 3D 多边形的其他面中的 3D 三角形,因此完全多余?
在另一个 TRIANGLE 中检测一个三角形很容易,但我正在寻找一种情况,我可以检测到一个冗余三角形,该三角形可能交叉并包含几个形成平面的三角形。
例如上图,假设所有的顶点都在一个平面内,那么红色三角形就完全没有必要了,只会导致z-fighting。然而,我似乎无法想出一种涵盖所有基础的好技术,可以说“可以删除红色的”。
有什么建议吗?
在这里发布我想出的解决方案,以防这个问题可以帮助任何遇到类似问题的人。我所做的是: