WOLF RPGエディター 質問スレ 其の11at GAMEDEVWOLF RPGエディター 質問スレ 其の11 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト71:名前は開発中のものです。 17/11/08 17:54:07.40 WQUOsR5d.net オイラー法で求めちゃえば? 72:名前は開発中のものです。 17/11/08 20:50:16.10 qxC5eXFt.net オイラー法ってのは、ざっくり説明すると xn+1 = xn + dx/dt * dt yn+1 = yn + dy/dt * dt で常微分方程式を求める方法や これを物理演算でわかりやすく解説するなら [次のx座標] = [今のx座標] + [水平方向の速度] × [時間間隔] [次のy座標] = [今のy座標] + [今の鉛直方向の速度] × [時間間隔] ってことになる。 じゃあ[水平方向の速度]と[鉛直方向の速度]はどうなるのっていうと、これは採用する式で異なるんだけど、今回は簡単のために空気抵抗が発生しないことを仮定すると [水平方向の速度] = [初速] × [cosθ] [今の鉛直方向の速度] = [前回の鉛直方向の速度] - [加速度] × [時間間隔] ってことになる。 注意事項だけど、座標系は画面右方向をx軸正、画面上方向をy軸正として考えている。 また、θはx軸からの左回りの角度を表す。 そんで式を整理すると [次のx座標] = [今のx座標] + ([初速]×[cosθ]) × [時間間隔] [次のy座標] = [今のy座標] + ([前回の鉛直方向の速度] - [加速度] × [時間経過]) × [時間経過] ここから簡単のために[時間経過] を 1 として省略することで次式として纏められる [次のx座標] = [今のx座標] + ([初速]×[cosθ]) [次のy座標] = [今のy座標] + ([前回の鉛直方向の速度] - [加速度]) ※(初期の鉛直方向の速度 = [初速] × [sinθ]) んであとは座標系をウディタ用に治すと、y軸方向は反転して、θはx軸から右回りであるため次式で表される [次のx座標] = [今のx座標] + ([初速]×[cos-θ]) = [今のx座標] + ([初速]×[cosθ]) [次のy座標] = [今のy座標] + ([前回の鉛直方向の速度] + [加速度]) ※初期の鉛直方向の速度 = [初速] × [sin-θ] = - [初速] × [sinθ] 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch