2011-12-30 5 views
0

私は、2D空間で動く物体を表す3点(A、B、C)を持っています。各ノードについて、私はその位置とその速度ベクトルを知っている。 3つのオブジェクトはすべて同じ方向に移動しています。ポイントが他の2点間の線の延長線に近似するかどうかを調べる方法は?

点C(x3、y3)が、点A(x1、y1)とB(x2、y2)によって形成される線の「正の」拡張に近似するかどうかを知りたい。すなわち、ポイントCがポイントBの「先」(すなわち、「A→B→C」ではなく「C→A→B」)であるかどうかを知りたい。

ポイントA、B、Cが同一線上にあるかどうかをチェックすると、3つのポイントが同じライン上にあることがわかりますが、ポイントCがラインの正の延長線に近似しているかどうかはわかりません。

どのような提案も高く評価されます。

+0

私はこの質問のプログラミングの面を忘れています – rene

+0

質問してみてください:http://math.stackexchange.com/ – asawyer

答えて

1

差分ベクトルABとBCのスカラー積を計算できます。それが肯定的であれば、CはあなたがBの前で呼んでいるものです。しかし、それは左か右の道です。

スカラー積は

(b1-a1)x(c1-b1) + (b2-a2)x(c2-b2). 

A =(A1、A2)、B =(B1、B2)、C =(C1、C2)のように計算されるであろう

- それは角のあるCOS 2つのベクトルの間にベクトルの長さを乗算し、cosは90度未満の角度に対して正である。

+0

よろしくお願いします。私は私のコメントを撤回する。 – andand

関連する問題