2

我目前正在编写一个游戏(使用 OpenTK 的 2D),其中有很多旋转,随之而来的是我有时需要获得这些线条/形状之间的交集: 两个四边形 http://files.myopera.com /antonijn/albums/12693002/TwoQuadrangles.png

我知道它们的旋转(以度为单位),因此我知道两种形状中所有顶点的位置。

该算法需要给我一个关于它们是否相交的布尔值,或者更好的是,交叉点的坐标。

我已经编写了自己的算法,它在第一个框的两侧滚动,获取每一侧的公式并将它们与第二个框的行的公式进行比较。现在,当线条是直立的(float.Infinity 或 float.NegativeInfinity 的斜率)时,这不起作用,调试起来很痛苦,而且速度也不快,所以我需要一个更好的!

有什么建议么?

4

1 回答 1

0

根据 Nickon 的建议,我最终使用了 SAT 方法,感谢一群朋友!

于 2012-09-22T13:09:32.263 回答