两个线段,有重叠,情形比较多。反过来想,如何判断两个线段无重叠?排除了这个,不就重叠了?代码如下:
if (x1 + w1 < x2
x2 + w2 < x1)
{
//两个线段无重叠
}
代码的思路就是,两个线段不重叠,一定是以下两种情形之一:
- 要么线段1的终点在线段2的始点之前。
- 要么线段2的终点在线段1的始点之前。
两个线段,有重叠,情形比较多。反过来想,如何判断两个线段无重叠?排除了这个,不就重叠了?代码如下:
if (x1 + w1 < x2
x2 + w2 < x1)
{
//两个线段无重叠
}
代码的思路就是,两个线段不重叠,一定是以下两种情形之一: