我目前正在编写一个游戏(使用 OpenTK 的 2D),其中有很多旋转,随之而来的是我有时需要获得这些线条/形状之间的交集: 两个四边形 http://files.myopera.com /antonijn/albums/12693002/TwoQuadrangles.png
我知道它们的旋转(以度为单位),因此我知道两种形状中所有顶点的位置。
该算法需要给我一个关于它们是否相交的布尔值,或者更好的是,交叉点的坐标。
我已经编写了自己的算法,它在第一个框的两侧滚动,获取每一侧的公式并将它们与第二个框的行的公式进行比较。现在,当线条是直立的(float.Infinity 或 float.NegativeInfinity 的斜率)时,这不起作用,调试起来很痛苦,而且速度也不快,所以我需要一个更好的!
有什么建议么?