こんにちは、2 つの長方形が交差するかどうかを確認する質問をしました。長方形が x 軸に平行である場合、コードを書きました。
struct point
{
int x;
int y;
};
struct rect
{
struct point left;
struct point right;
};
//1 - intersection
// 0- no intersection
int rectintersectioncheck(struct rect r1,struct rect r2)
{
int x_check = (r1.left.x > r2.right.x || r2.left.x > r1.right.x);
int y_check = (r1.right.y > r2.left.y || r2.right.y > r1.left.y);
if(x_check && y_check )
{
return 0;
}
return 1;
}
この場合は正常に機能しますが、長方形が x 軸に平行ではない場合、左上、右下のポイントのみが指定されているため、アルゴについて混乱しています。助けてください。