Revit二次开发,判断3点围绕方向是顺时针还是逆时针

已经空间任意3点a,b,c,如何判断他们的环绕顺序是顺时针还是逆时针呢?

直接给出代码:

/// 
/// 判断3点组成的方式是顺时针还是逆时针
/// 
/// 
/// 
/// 
/// 1:顺时针 0:共线 -1:逆时针
private int CheckDirection(XYZ a, XYZ b, XYZ c)
{
    double value = (c.Y - b.Y) * (b.X - a.X) - (b.Y - a.Y) * (c.X - b.X);
    if (value < 0)
    {
        //顺时针
        return 1;
    }
    else if (value == 0)
    {
        //共线
        return 0;
    }
    else
    {
        //逆时针
        return -1;
    }
}

 

祝您用餐愉快。

你可能感兴趣的:(Revit二次开发)