我一直在研究确定 2 个矩形相交位置的最佳方法,并一直在研究使用 Minkowski 和。
如果有人能解释如何使用 Minkowski 和来确定 2 个矩形何时何地(即哪个边)碰撞,我将不胜感激。
我已经阅读了很多关于此的内容,但我不确定如何正确实现这一点。
谢谢
代码是:
float w = 0.5 * (A.width() + B.width());
float h = 0.5 * (A.height() + B.height());
float dx = A.centerX() - B.centerX();
float dy = A.centerY() - B.centerY();
if (abs(dx) <= w && abs(dy) <= h)
{
/* collision! */
float wy = w * dy;
float hx = h * dx;
if (wy > hx)
if (wy > -hx)
/* collision at the top */
else
/* on the left */
else
if (wy > -hx)
/* on the right */
else
/* at the bottom */
}