判断封闭多边形的点的序列是顺时针还是逆时针

原理如下:(本方法有问题,希望看的朋友注意,不要误导了你们)
     判断的方法如下图所示,首先找到最西边的点,在图中是3号点,则从该点前一个点开始的连续三个点(在图中是2、3、4三个点)的排序就代表了整个拐点序列的排序;而这三个点的排序可以通过比较坐标方位角判断出来:若中间点到前点的坐标方位角小于中间点到后点的坐标方位角,则为逆时针排列,反之为顺时针排列。在图中α32小于α34,因此为逆时针排列。

    注:“坐标方位角”是测量学名词,指从坐标系北方向顺时针转向有向直线的夹角。

判断封闭多边形的点的序列是顺时针还是逆时针

    上述方法适用范围有限,而且算法本身不是很鲁棒!我们知道,对于给定的一个走向,如果从正面看是顺时针,从反面看则为逆时针。所以给定一个面内的走向序列,而不给出该面的法线空谈顺时针逆时针是不正确的。 所以正确的正确的做法是:顺着走向连续的三个点构造两个向量,用向量的叉乘结果与法向作比较,同向则为顺时针,否则为逆时针!

你可能感兴趣的:(序列)