2017-12-02 62 views
1

現在、私はレーストラックの周りで異なる車を動かしています。私はトラックの端部とその周囲の車の速度を変化させる円内を移動する物体の速度を変更するための公式

Canvas move object in circle

ARCCOSに記載されている式(1-(D ⁄ R) ⁄ 2)

を使用してい非常にうまくいきます。私が理解していないのは、式がどのように導出されるかです。私はarcsinまたはarccosの2次導関数から導出しようとしていますが、式を得ることはできません(私は間違った経路を歩いていると推測しています)。とにかく、私は理解していないコードを使用することは決して快適ではないので、誰かが私のためにそれに光を当てることができれば感謝します。

+0

は、あなたがここにあなたが/ ..より良い理解を得るためのパラメータと値を使用して遊ぶことができ、この例を見ました: http://jsfiddle.net/m1erickson/Qnk5d/ – Lonely

+0

これは純粋に数学的問題であり、プログラミングとの関連性はありません。あなたがそのリンク先のポストで答えによって与えられた派生を理解していないなら、おそらく[Math SEサイト](https://math.stackexchange.com)で尋ねるべきでしょう。 – meowgoesthedog

+0

この式はどのように使用していますか?何のために? – MBo

答えて

1

リンクされた質問で詳述されているように、円に沿ったオブジェクトの動きは、角度がthetaの1つの角度でパラメータ化できます。さて、問題は、オブジェクトが最初の(現在の)位置Aからのユークリッド距離dである角度thetaのためである:つまり

enter image description here

、あなたは、シミュレーションの時間ステップdeltaを修正した場合、距離がdまでdeltaの範囲内でオブジェクトが移動するように角度をどのように調整(増分)しなければならないかという問題を再現することができます。 law of cosinesから

、1は取得します。

d^2 = r^2 + r^2 - 2*r*r*cos(theta) = 2*r^2*(1 - cos(theta)) 

したがって:

cos(theta) = 1 - 1/2*(d/r)^2 

theta = arccos(1 - 1/2*(d/r)^2) 
+0

@ewczありがとうございました。コードを読んでいたとき、私は距離が和音ではなくアークACにあると思っていました。図と派生をありがとう、それは非常に明確になります。 – GameQuest

関連する問題