我有2个矩形,第一个是当前地图边界,第二个是前一个地图边界(移动前):
LocationRect currentBounds = map.Bounds; //the first.
LocationRect previousBounds --> //the second.
我怎样才能得到它们的共同方格? 在数学术语中(我认为)它意味着它们之间的交叉?
答案 0 :(得分:2)
伪代码:
Rectangle
{
left,
top,
right,
bottom
}
Rectangle Intersection(Rectangle A, Rectangle B)
{
return Rectangle
{
left = max(A.left, B.left),
top = max(A.top, B.top),
right = min(A.right, B.right),
bottom = min(A.bottom, B.bottom)
}
}
这假设Y值从上到下增加。如果情况恰恰相反,只需切换min
和max
的{{1}} / top
次来电。