• 締切済み

C++で物体の放物線起動

C++で物体を放物線起動で移動させたいのですがどのようにすればいいのでしょうか? 放物線起動はキャラのジャンプで使おうかと考えています。 現在キャラクターの描画は行っていて 画面→にいくとX座標が+ 画面↓にいくとy座標が+と 普通の二次関数とは異なっています。 できれば時間などをとらないでやる方法を知りたいのですが それしかない場合はそちらでお願いしたいです。 説明がわかりにくくて申し訳ありませんが、 ご存知の方いましたら、回答よろしくお願いします。

みんなの回答

noname#52852
noname#52852
回答No.2

> できれば時間などをとらないでやる方法を知りたいのですが この条件の意味が分らないので、一般的な形でお答えします。 通常の座標系では、 出発点の座標を原点 (0,0)、 頂点の座標を (A,B)[A>0,B>0] とすると、 着地点の座標は (2A,0) となり、 軌跡は y=B*(A*A-(A-x)*(A-x))/(A*A) となります。 画面上のアドレスにするためには、 原点の座標をずらして、 上下方向の符号を反転する必要があります。 先の条件の頂点までの位置をそのまま生かすと、 出発点の座標を (X,Y) とすると、 頂点の座標は (X+A,Y-B) となり、 着地点の座標は (X+2A,Y) となり、 軌跡は、y=Y-B*(A*A-(X+A-x)*(X+A-x))/(A*A) となります。 A,B,X,Y は定数、x,y は移動中の物体の座標です。 実際に動かして確認したわけではないので、間違いがあるかもしれませんが、参考にしてください。

hayato0210
質問者

補足

すいませんが、おっしゃってる意味がわかりません・・・><

  • pbforce
  • ベストアンサー率22% (379/1719)
回答No.1

Y=X^2が基本形です。

hayato0210
質問者

補足

それではただの二次関数ですよね・・・? 物体の放物線が逆向きになってしまいます・・・ 今回は下がy軸+です・・・・

関連するQ&A