利用矢量叉积判断是逆时针还是顺时针。
设A(x1, y1),B(x2, y2),C(x3, y3),则三角形两边的矢量分别是:
AB = (x2 - x1, y2 - y1), AC = (x3 - x1, y3 - y1)
则AB和AC的叉积为:(2*2的行列式)
|x2-x1, y2-y1|
|x3-x1, y3-y1|
值为:(x2-x1)*(y3-y1) - (y2-y1)*(x3-x1)
利用右手法则进行判断:
如果AB*AC > 0,则三角形ABC是逆时针的
如果AB*AC < 0,则三角形ABC是顺时针的
提示:上面是对平面三角形的顺时针和逆时针进行判断。
当然,如果想对空间三角形的顺时针和逆时针进行判断,可以先让三个顶点投影到x-y平面,
然后使用上面的方法即可。
向量判断关系
设矢量P = ( x1, y1 ),Q = ( x2, y2 ),则P × Q = x1*y2 - x2*y1,其结果是一个标量.
显然有性质 P × Q = - ( Q × P ) 和 P × ( - Q ) = - ( P × Q )。
叉积的一个非常重要性质是可以通过叉积的符号判断两个矢量相互之间的顺逆时针关系:
若 P × Q > 0 , 则P在Q的顺时针方向。即P在Q的右侧,Q在P的左侧。
若 P × Q < 0 , 则P在Q的逆时针方向。即P在Q的左侧,Q在P的右侧。
若 P × Q = 0 , 则P与Q共线,但可能同向也可能反向。
Orz