我正在检查两个对象的交集..我有一个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。

09-26 20:45