全体表示

[ リスト ]

イメージ 1
上の図の3点を通る放物線の式

y = a * x * x + b * x + c
始点(0,500)
500 = c
頂点(200,200)
200 = a * 200 * 200 + b * 200 + c
200 = a * 200 * 200 + b * 200 + 500
-300 = a * 200 * 200 + b * 200
-6
300 * 2= a * 200 * 200 * 2 + b * 200 * 2
-600 = a * 80000 + b * 400

通過点(400,500)
500 = a * 400 * 400 + b * 400 + c
500 = a * 400 * 400 + b * 400 + 500
0 = a * 400 * 400 + b * 400
0 = a * 160000 + b * 400

頂点引く通過点
-600 = a *  80000 + b * 400:頂点
0    = a * 160000 + b * 400:通過点

-600 = -80000 * a

-6 = -800 * a
a = 3 / 400 = 0.0075

通過点に入力
0 = (3 / 400) * 400 * 400 + b * 400
0 = 3 * 400 + b * 400
b = -3

結果
y = 0.0075 * x * x - 3 * x + 500

確認
確認 始点
500 = 0.0075 * 0 * 0 - 3 * 0 + 500
500 =  500

確認 頂点
200 = 0.0075 * 200 * 200 - 3 * 200 + 500 =  300 -600 + 500 = 200

通過点(400,500)
500 = 0.0075 * 400 * 400 - 3 * 400 + 500 = 1200 -1200 + 500 = 500

下がその式になるので
y = 0.0075 * x * x - 3 * x + 500
これを使って動かします

今までの初期設定と同じParaflaのプロジェクトファイルを使います
①のところは初期値
_x = 500;
_y = 0.0075 * x * x - 3 * x + 500

これで始点に画像が表示されます

これを移動させなければならないので

②に
 _x ++ ;
_y = 0.0075 * x * x - 3 * x + 500

これで放物線上に動きますが行ったきり帰ってこなくなるので
条件式をその下に入れます
if( _y >= 620){_x = 500;}

これで放物線の動きをします

この前は三角関数を用いて噴水を作りました
放物線で作っても出来そうなので試しました
今回はその第一歩




よしもとブログランキング

もっと見る

プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事