其实我找到了这个公式,但是我不知道它是如何工作的。
令p,q
和r
为三点,
k=(q.y - p.y)*(r.x - q.x)-(q.x - p.x) * (r.y - q.y);
if(k==0): They are all colinear
if(k>0) : They are all clockwise
if(k<0) : They are counter clockwise
如果有人解释它是如何工作的,我将感到高兴。
最佳答案
此公式用于计算向量 q-p 和 q-r 的cross product。您可以在几何意义部分中看到与产品值(value)交叉的部分
C = A x B = | A | * | B | * Sin(Theta),其中Theta是这些向量之间的角度(点对点方向)。对于平行向量,Sin(Theta)= 0,当Theta <180时为正,否则为负。
例子:
顺时针三元组ABC:AB和AC向量的叉积> 0
逆时针三元组ACD:AC和AD的叉积为负。
关于math - 在给定点的坐标的情况下,如何在二维空间中找到这些点的方向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17592800/