答案 0 :(得分:2)
在 2D 中,您可以利用交叉乘积,它将垂直向量返回到向量相乘。它指向的一侧取决于乘法器的顺序(CW / CCW),因此如果你得到了向量v1,v2
,那么v1 x v2 = - (v2 x v1)
。如果v1,v2
是2D矢量,则它们的交叉结果仅位于 Z坐标中,因此:
我们的出发点是 SP ,结束点是 EP ,有些中间点是 MP 。
形式向量 SE = EP - SP 和 SM = MP - SP ,并计算其叉积的 Z坐标的符号。
CP = SE.X * SM.Y - SE.Y * SM.X
如果交叉积为正,则弧为顺时针;如果为负,则为逆时针(或者相反,它取决于您的 2D坐标系的定义方式)。