39b31e88
Hu Chunming
添加人员攀爬、人员越线、车辆压线
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include "common_tool.h"
namespace common {
bool is_intersect(jxline myline1, jxline myline2)
{
// 快速排斥实验
if (myline1.get_max_x() < myline2.get_min_x() ||
myline2.get_max_x() < myline1.get_min_x() ||
myline1.get_max_y() < myline2.get_min_y() ||
myline2.get_max_y() < myline1.get_min_y())
return false;
// 跨立实验(叉积异号)
if (((((float)myline1.xa - (float)myline2.xa)*((float)myline2.yb - (float)myline2.ya) - ((float)myline1.ya - (float)myline2.ya)*((float)myline2.xb - (float)myline2.xa))*
(((float)myline1.xb - (float)myline2.xa)*((float)myline2.yb - (float)myline2.ya) - ((float)myline1.yb - (float)myline2.ya)*((float)myline2.xb - (float)myline2.xa))) > 0 ||
((((float)myline2.xa - (float)myline1.xa)*((float)myline1.yb - (float)myline1.ya) - ((float)myline2.ya - (float)myline1.ya)*((float)myline1.xb - (float)myline1.xa))*
(((float)myline2.xb - (float)myline1.xa)*((float)myline1.yb - (float)myline1.ya) - ((float)myline2.yb - (float)myline1.ya)*((float)myline1.xb - (float)myline1.xa))) > 0)
return false;
return true;
}
}
|