2012-02-03 15 views
0

おそらく簡単/愚かな問題です。2D空間:正しい方向に進んでいるかどうかを知る方法?

私たちは、私たちが行きたい一般的な方向を構成する方向ベクトルを持っているとしましょう。 2D空間で。

ここでポイントP1と2番目のポイントP2があるとします。 P1からP2への動きが方向ベクトルに対して相対的に前進または後退しているかどうかをどのように判断できますか?

+0

これを適用できるコンテキストはありますか? – cctan

+0

'direction.dot(P2-P1)'が前方に進むよりも正であれば、そうでなければ後方に移動します。それは私が意味するドットプロダクトですhttp://en.wikipedia.org/wiki/Dot_product – PeterT

+0

マウスカーソルを特定の方向にドラッグします。その方向に行くと値が上がり、後ろに行くほど値が下がります。 @PeterTありがとう – user1070447

答えて

0

計算現在位置

C(x、y)は、あなたの現在の位置である
d1 = sqrt((p1.x-c.x)^2 + (p1.y-c.y)^2) 
d2 = sqrt((p2.x-c.x)^2 + (p2.y-c.y)^2) 

にP1とP2との距離をありがとう。それは、それがP1の頂部上にあることを意味する1に到達し、それが0に達したときに、それはP2(またはその逆)

の上部に上にある手段ときに1から0の範囲で

r = d1/(d1+d2) 

Rを計算しますあなたが近づいているかどうかを知っているか、古いものと新しいものとを比較してください。

関連する問題