2013-07-11 37 views
2

其实我找到了这个公式,但我不知道它是如何工作的。如何在给定坐标的二维空间中找到三点的方向?

p,qr是三点,

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 

我会很高兴,如果有人解释它是如何工作的。

回答

5

该公式用于计算向量Q-P的q - [Rcross product。您可以在中看到几何含义截面积产品值 C = A x B = | A | * | B | * Sin(Theta),其中Theta是这些向量之间的角度(点对点方向)。对于平行向量,Sin(Theta)= 0,当Theta < 180时为正,否则为负。

实施例:

顺时针三重ABC:AB和AC向量的叉积是> 0

逆时针三重ACD:AC的叉积和AD为负。

enter image description here

0

这是从两条直线之间的角度找到。 (M1-M2)/ 1 + M1 *平方米。让a,b,c,d四点,并且我们想知道c和d在ab线的同一侧或相反侧。如果ab,ac之间的角度与ab,ad之间的角度相反,则它们位于相反侧,否则它们位于同一侧。使用上面的公式,我们可以达到您找到的公式。

相关问题