如何判断两个矩形是否相交

判断图形相交
一个简单的例子:在平面坐标里有四个圆分别以(2,2),(2,-2),(-2,-2),(-2,2)为圆心,现取平面内任意一点,问其是否落于圆内。
算法思路:四个圆关于原点中心对称,可以对所求点取绝对值,放在第一象限内求解,若所求点与圆心距离小于半径,则其落于圆上。
伪代码:
double a,b;
scanf("%d%d",&a,&b);
a=fabs(a);
b=fabs(b);
if((a-2)(a-2)+(b-2)(b-2)<=1)
printf(”所取的点落于圆上”);
else
printf(“所取的点落于圆外”);

如何判断两个矩形是否相交可以采取类似的思想,用easyx所做的矩形有四个参数,分别代表矩形左上角和右下角的点。当两矩形相交(相切也算在内)则两个矩形x轴两点最大距离之差小于等于其长度之和,同理y轴坐标之差也小于等于其长度之和。
例如:
rectangle(a,b,c,d);
rectangle(w,x,y,z);
if(fab(c-a)+fab(y-w)<=fab(y-a)&&fab(d-b)+fab(z-x)<=fab(z-b))
printf(”两矩形相交”);

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页