1

私は、2 つの長方形が交差する場所を特定する最良の方法を調べており、ミンコフスキーの和を使用して調べています。

ミンコフスキー和を使用して、いつ、どこで (つまり、どのエッジ) 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 */
}
4

2 に答える 2