Ano*_*non 9 algorithm collision-detection actionscript-3 computational-geometry
我试图计算任意数量的飞机的最顶部交叉点,没有快乐!我正在使用actionscript,但只需要找到一个我可以实现的算法.
问题:
这是一张图片来澄清我对2个三角形的意思:
但是,当我们允许超过2个三角形时,我会遇到尴尬的交叉线.
我对你的问题很感兴趣,所以我描述了该算法并用 C++ 实现了它(我不知道 AS 不如 C++)。该算法的主要思想是在添加新三角形的同时迭代重新计算顶面。
三角形被截取后,它们可以将其形状更改为具有自定义顶点数的多边形。因此,每个三角形最初都转换为普通多边形。每个多边形实例包括其平面方程和一组多边形面。作为数据结构的每个面包括多边形的一个顶点以及穿过该顶点和多边形顶点序列中的下一个顶点的垂直边界平面的方程。(因此,一组面孔的顺序很重要。)
让我们将顶面视为一个多边形集。当添加新的多边形时,我们应该迭代地重新计算所有曲面多边形的面。人脸重计算算法包括以下步骤:
为了避免淹没此页面,我已将代码放入pastebin中。