2

大学に戻って、2 つのキー フレームの x 値と y 値の間のポイントの x 位置と y 位置を計算するために使用されるアルゴリズムがあることを覚えています。直線のアルゴリズムを知っています。

x = ((KeyFrame2.x - KeyFrame1.x)/期間)*時間

私の理解では、2 つのキー フレームの差を持続時間で割ると、単位時間 (通常は 1 フレーム) ごとに測定単位 (ほとんどがピクセル) の数がわかるので、その値にどれくらいの距離を掛けるかだけです。タイムラインですが

すなわち。x = ((KeyFrame2.x - KeyFrame1.x)/期間)*時間
x = ((10 - 0)/10)*3
x = (10/10)*3
x = 1*3
x = 3 (3 の後オブジェクトの位置は、KeyFrame1 から x 軸に沿って +3 ピクセルになります)。

これは理解していますが、カーブパスに使用されるものについても言われました。たとえば、ボールが前方にバウンドし、キーフレームは地面にぶつかったときであり、バウンスのピークにあるときです。これは私が持っているものです忘れていて、メモがどこにあるのかわからない

私が求めているのは、このようなパスを持つオブジェクトの x 位置と y 位置を計算するために使用されるアルゴリズムです。コードが相互に依存する数学的アルゴリズムを求めています。私がしようとしているのは、いくつかのオーブをアニメーション化することです。ロゴの画面の中央を一周します。コード内のオブジェクトを移動する必要がありますが、キーフレーム間の計算を調整する必要があります

注:コードを求めているわけではありませんが、アルゴリズムはアニメーションプログラミングで使用されているため、私の質問はプログラミング全般に関連しています

注 2: KeyFrame2.x と KeyFrame1.x はコードではありません。キーフレームは、x、y、z、前のフレームからの期間などの値を保持するクラスのインスタンスと見なされます。

4

2 に答える 2

1

あなたはアルゴリズムを求めているのではなく、方程式を求めています。シミュレートするモーションの種類に基づいて、さまざまな方程式を使用できます。たとえば、重力下での発射体の動きは放物線で表されます。

x = a * y^2 + b

インテリジェントな力によって制御されるモーションの場合、高次の多項式またはベジエ曲線に基づくカーブ フィッティングがより適切です。Google はここであなたの友達です。

于 2012-07-30T00:00:10.440 に答える
0

円の動きがあることがわかっている場合は、方程式を円で囲んで次の位置を予測したり、その間を補間したりできます。円は 3 点で一意に定義できるため、その間を補間するには 3 点が必要です。凸円か凹円かさえわからない2点しかないのは理にかなっています。

ポイントの動きに基づいて、少なくとも自分の動きに似た方程式を選択します。ほとんどの場合、あなたが指摘した線形方程式で十分です。

于 2012-07-30T00:23:18.567 に答える