2011-06-26 5 views
2

プログラムの場合、スターは画面の下部または上部に、あらかじめランダムに計算された位置に表示されます。星は、星の上か下である(星が文字の上か下かに由来するかに基づいて)所定の行き先に移動する。現在のところ、星の動きはほとんど線形であり、自家製の方程式の曲線が少しあります。私は、星が目的地の位置の上/下にほぼ垂直(+/- 20度)の角度で目的地に到達するような、頑強な放物線方程式を望んでいます。私はcalc 3に電話をかけたので、この問題の放物線をどのように実装するのか分かりません。私はこれらのオブジェクトをアニメートする全く別の方法にもオープンしています。ヘルプは高く評価しました。ありがとう!送信元と送信先の座標を指定してパラボラ式を導出する

enter image description here enter image description here enter image description here
余分な情報:ボトム元の星のための星ソース位置が直接、彼らはと衝突している文字の上または下になることはありません、とある決して半分以上、画面の幅離れたり画面の幅の1/3が上部の星のために離れています。

+0

あなたの質問はあまり明確ではありません。 「衝突する」とはどういう意味ですか?あなたが「目的地の手紙に垂直」と言うとき、その手紙のどの部分を意味していますか?あなたが「凹凸」と言うとき、それは何ですか?最も簡単な答えは、あなたの写真の1枚を取って、それに模範的な軌跡を描くことです。 –

+0

また、軌跡を手描きするときは、すべての制御値(角度、点、接線など)をマークしてください。 – bdonlan

+0

あなたの描画には十分な制御点がありません。 2つの点が2つの方程式、3つの未知数を与える。私は最初の軌道を入力として解決しようとしましたが、すぐに4次多項式混乱で終わったので、他の制御点を選ぶかもしれません:) – bdonlan

答えて

1

私たちは、頂点がわかっている放物線と他の任意の点が欲しいと思います。

まず、頂点を考えます。放物線の頂点では、y位置の1次導関数はゼロです。 d/dx(ax^2 + bx + c) = 2ax + bであるので、が2ax = -b => x = -b/2aのときxのために解く。だからX_a = -b/2a

ここでaまたはbのいずれかを解くために使用できます。従って、a = -b/2X_a

頂点のy座標も知っています:Y_a = (-b/2X_a)X_a^2 + bX_a + c; Y_a = -bX_a/2 + bX_a + c; Y_a = bX_a/2 + c; cc = Y_a - bX_a/2について解く。

これを他の既知の点の式に入れてください:y = (-b/2X_2)x^2 + bx + Y_a - bX_a/2; y = -bX_a/2 + bx + Y_a - bX_a/2; y = -bX_a + bx + Y_a; bのために解く:bx - bX_a = y - Y_a; b(x - X_a) = y - Y_a; b = (y - Y_a)/(x - X_a)

これで、二次関数の3つのパラメータ(acbに依存)を持つ式が得られ、パラメトリックフォームを簡単に取得できます。

+1

ソース/頂点(h、k) 、目的地点(x、y)、およびfoci [a]である。次に、a =(y-k)/(x-h)^ 2のy = a *(x-h)^ 2 + kとする。 aを解いてから、放物線沿いの任意の点を見つけるために、y = a *(x-h)^ 2 + kの式を使用します。放物線に沿ってオブジェクトの動きをアニメーション化するには、最初にx = hと設定し、時間の経過とともにxをインクリメントします。 –

関連する問題