您想使用分离轴定理(SAT).通常它在3d中使用,但它很好地折叠到2d.由于您有一个特殊情况,您需要考虑的唯一轴是矩形的4个主轴:
[ 1,0 ] [ 0,1 ] [ sin(theta), cos(theta) ] [ -cos(theta), sin(theta) ]
要检查轴,请计算每个顶点与该轴的点积.然后检查2组值的最小值和最大值,看它们是否重叠.如果4轴中的任何一个给出不重叠的范围,则矩形不重叠(您已找到分离轴).如果所有4轴显示重叠,则矩形相交.
这是最近关于同一问题的SO问题: 分离轴定理和Python
这是维基百科的文章
http://en.wikipedia.org/wiki/Separating_axis_theorem
| 归档时间: |
|
| 查看次数: |
1716 次 |
| 最近记录: |