2016-10-14 12 views
0

実際の状況にベクトル知識を適用するのは難しい作業です:私はthis紙に基づいて船舶(予測子ではない)に近い衝突検出アルゴリズムを実装しようとしています。私が持っているデータはの位置(x、y)、コース(北からの角度)、そしての速度です(AとBの船を言うとします)。速度と角度に基づいたベクトル計算

私が必要とするコンポーネントの3つは、船間の相対速度、船のコースに平行な単位ベクトル、相対速度に垂直な単位ベクトルです(全体の式は第4章で見ることができます)。 2次の私は数学の本から得つつ、第1式は、紙に与えられる:

1) relative velocity V(BA) = C(B) - C(A) (all vectors; within brackets -> subscript) 

私はCさんが(角度である)のコースを意味すると仮定しています。私の理解から、相対速度は時間とともに距離で測定され、一方、ベクトルは大きさ(速度ρ)および方向(コースτ)を有する。

2) unit vector = vector/magnitude 
3) perpendicular vector = any vector <=> dot product = 0 

したがって、私の質問は:どのように私は、これらの方程式を計算するために私が持っているデータ(すなわちスピード、もちろん、場所)を使うのですか?

ベクトルの計算には、2つの点(2 x、yのペア)を使用していますが、この場合は奇妙に見えます。

+0

本当にPythonの問題は、純粋な数学ではありません。 – Torxed

+0

速度はベクトルであり、大きさと方向があります。そして、いいえ、おそらく天使ではなくベクトルの減算です。 – Simon

+0

ポーラベクトル(大きさ、角度の向き)をデカルト(水平の大きさ、垂直の大きさ)に変換する際に問題があるようです。あなたは[両者を簡単に切り替えることができます](http://mathworld.wolfram.com/PolarCoordinates.html)。 – berna1111

答えて

3

(水平、正東へ西)とy(北に垂直、正南)、スピードsもちろんc(北朝鮮との関係で角度、時計回り)のために、あなたは座標xで位置を持っているとしましょうそれぞれの船。

でき、V XとV Y、使用して速度のデカルト成分を得ることができる:

V Y = s COS(c

V X = s sin(c

そして、あなたはadd or subtract the vectors term-wiseを自由自在にすることができます。

+0

私の場合、私はベクトルCBとCAを得るために各船のVy + Vxを行います。相対速度のために、私はちょうどCB-CAをしますか?私はsqrtが見つからないと感じている – Dimebag

+0

本当に、あなたは[何がベクトルである]と混同されているようだ(http://www.physicsclassroom.com/class/vectors/Lesson-1/Vectors-and-Direction) 。各ベクターは、2つの成分、C =(V X、、V Y、)及びC B =(V X、B、V Y、B)を有しています。これは、V BA =(V X、B -v X、 Y V、B -v Y、)になるだろう。 – berna1111

+0

スピードはベクトルですか?またはベクトルの大きさ? Wikiの状態スピードは大きさなので、速度は 's = sqrt(x^2 + y^2)'となります。ここでxとy(私は仮定します)はデカルト成分です。これは正しいです?私が混乱するのは、速度(ベクトル?)と速度(スカラー?)の両方が距離/時間で測定されるということです。 V y上記の計算は距離^ 2 /時間(?!)になります。 – Dimebag

関連する問題