ももまの月記

ももまの月記

ももまがウディタでゲーム(主にRPG)を作る記録です。

傾いた楕円軌道!

 私の作った通り魔七夜改変パッチでは、ちっちゃい七夜が本体の周りをくるくると回っています。これ、ちゃんと計算して楕円軌道を描いているんですよ。一般化したやり方を書いてみます。以下(X,Y)で楕円軌道を描くヘルパーの位置を簡易的に表現します。また、tをGameTimeに比例する速さで進む変数とします(GameTimeと思ってくれてかまいません)。

 まず、(cos(t),sin(t))。これは等速で円軌道を描きます。

 次に、(a*cos(t),b*sin(t))。これで楕円軌道を描きます。a,bは任意の数です。これにθ回転させる回転行列を掛けるという操作をすると次の式を得ます。

(a*cos(t)*cosθ-b*sin(t)*sinθ,a*cos(t)*sinθ+b*sin(t)*cosθ)

 通り魔wFの式とは微妙に違いますが、X,Yを入れ替えているだけです。また、a,b,θも時間変化させることでより複雑な軌道を描かせることができるかもしれません。途中がわかりにくいかもしれませんが、結果の式をパクれば大丈夫……なはずです。