7

実際にこの式を見つけましたが、それがどのように機能するかはわかりません。

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

誰かがそれがどのように機能するかを説明してくれれば幸いです。

4

3 に答える 3

15

この式は、ベクトルqpqrの外積を計算するために使用されます。幾何学的な意味のセクションで、交差積値 C = A x B = |A|*|B|*Sin(Theta) を確認できます。ここで、Theta はこれらのベクトル (2 点間の方向) 間の角度です。Sin(Theta) = 平行ベクトルの場合は 0、Theta < 180 の場合は正、それ以外の場合は負。

例:

時計回りのトリプレット ABC: AB ベクトルと AC ベクトルの外積が >0

反時計回りのトリプレット ACD: AC と AD の外積は負です。

ここに画像の説明を入力

于 2013-07-11T12:58:47.267 に答える
0

これは、2 つの直線の間の角度から求められます。(m1-m2)/1+m1*m2。a、b、c、d の 4 つの点を考えて、c と d が ab 線の同じ側または反対側にあることを知りたいとします。ab と ac の間の角度と ab と ad の間の角度の符号が反対の場合、それらは反対側にあり、そうでない場合は同じ側にあります。上記の式を使用して、見つけた式に到達できます。

于 2015-11-23T09:58:39.440 に答える