如何确定顶点是否逆时针?这个s.o.页面说如果叉积是负数,那么它就是顺时针。但向量怎么可能是负数呢?这没有任何意义。
你的问题很好,但答案并不简单。
你说得没错,两个向量的叉积会产生第三个向量,并且没有一个向量是“负数”。然而,叉积最常见的用途要么是[a]对其进行散度运算(这在你的情况下不适用),要么是[b]将其与第四个向量点乘。点积是一个标量,当然可以是负数。
在你的情况下,第四个向量将是从多边形的一个顶点或另一个顶点到观察者视点的向量。检查结果点积的符号,它将告诉你旋转方向是顺时针(负数)还是逆时针(正数)从观察者的角度看。
该技术的缺点是对于不熟悉向量代数的人来说似乎有些抽象。然而,这种缺点远远被优点所超越:叉积和点积技术非常快速。
结果向量将垂直于两个输入向量--并且根据输入向量的顺序,它将指向视图或远离视图--或者,如果平行于视图平面,则在交换乘法顺序时将朝相反方向前进。
您必须任意选择一些分隔“正”半部分和“负”半部分的平面。