|
发表于 2003-10-1 17:09:48
|
显示全部楼层
(自认为)空间换时间的方法:
矩形A:
(x1,y1)-(x2,y2)
矩形B:
(x3,y3)-(x4,y4)
定义矩形的中心点:
A:
(X1,Y1)
X1=(x1 + x2) / 2
Y1=(y1 + y2) / 2
B:
(X2,Y2)
X2=(x3 + x4) / 2
Y2=(y3 + y4) / 2
定义两个临时点(以矩形A作为判断基准的话):
P1(a,b)
a=x1 - (x4 - x3)/2
b=y1+ (y3 - y4)/2
P2(c,d)
c=x2 + (x4 - x3)/2
d=y2 - (y3 - y4)/2
如果使用P1和P2分别作为一个矩形的左上角和右上角,那么只要判断矩形B的中心点是否在这个矩形内就行了。也就是说,当以下条件同时为真时,A和B有重叠:
a < X2 < c
d < Y2 < b |
|