判断三点方向(顺时针或逆时针)

假设三点为 p1,p2,p3
方式1:
计算三点的面积量,结果为正则三点成逆时针方向,结果为负则三点成顺时针方向。
方式2:
计算向量p2-p1和p3-p2的叉乘,
公式如下
a × b = [ i j k x 1 y 1 z 1 x 2 y 2 z 2 ] = ( y 1 z 2 − y 2 z 1 ) i − ( x 1 z 2 − x 2 z 1 ) j + ( x 1 y 2 − x 2 y 1 ) k a\times b = \begin{bmatrix} i & j & k \\ x_{1}& y_{1} & z_{1} \\ x_{2} & y_{2} & z_{2} \end{bmatrix} =\left ( y_{1}z_{2}-y_{2}z_{1} \right )i-\left ( x_{1}z_{2}-x_{2}z_{1} \right )j+\left (x_{1}y_{2}-x_{2}y_{1} \right )k a×b=ix1x2jy1y2kz1z2=(y1z2y2z1)i(x1z2x2z1)j+(x1y2x2y1)k
k方向的系数为正时三点成逆时针方向,为0时三点共线;否则是顺时针方向

方式3:(此方式和方式2所需要判断的代数公式相同)
计算向量p2-p1的法向量(逆时针方向旋转90度)和向量p3-p2的点积,结果为正表示三点成逆时针方向。

你可能感兴趣的:(计算几何,计算几何)