- 积分
- 24368
- 明经币
- 个
- 注册时间
- 2003-6-27
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
/// <summary>
/// 判断1,2,3三个点的依次走向为顺时针还是逆时针走向
/// 顺时针返回-1,逆时针返回1,点重合或在一条直线上返回0
/// </summary>
/// <param name="P1">第一个点</param>
/// <param name="P2">第二个点</param>
/// <param name="P3">第三个点</param>
/// <returns>顺时针返回-1,逆时针返回1,点重合或在一条直线上返回0</returns>
static public int Clockwise(Point3d P1, Point3d P2, Point3d P3)
{
double A = P3.Y - P1.Y;
double B = P1.X - P3.X;
double C = -1.0 * A * P1.X - B * P1.Y;
double d1 = -A * P2.X - B * P2.Y;
if (d1 == C)
return 0;
else if (d1 > C)
return -1;
else
return 1;
} |
|