我正在检查两个对象的交集..我有一个MBR类,其数据成员为low [2]和high [2] ..但是我没有交叉。.c,您可以解释此功能。
intersects(const MBR* h) const
{
for (int i = 0; i < 2; i++)
{
if (low_[i] > h->high_[i] || high_[i] < h->low_[i])
return FALSE;
}
return TRUE;
最佳答案
如果第一个MBR的intersects
中的任何值大于第二个MBR的low[]
中的值(在相应的索引中),或者如果第一个MBR的high[]
中的任何值小于high[]
,则将MBR与另一个MBR进行比较并返回FALSE。第二个MBR的low[]
中的值(在各个索引中)。否则返回TRUE。