ゲーム数学演習(等加速度・重力・摩擦)

出題範囲:等加速度運動 / 重力 / 摩擦 全10問(60分想定) ゲーム内の座標・速度・加速度として扱うバージョン

問1:速度の更新(等加速度)

キャラクターの x 方向速度が次の条件で変化する。

  • 初期速度:$v = 3\ \mathrm{m/s}$
  • 加速度:$a = 2\ \mathrm{m/s^2}$

使用式: $ v(t) = v_0 + a t $

【導出(初心者向け)】 加速度 $a$ は「1 秒あたりにどれだけ速度が増えるか」を表す量。 $a = 2$ なら速度は 1 秒で $2$ 増える。 よって 5 秒では $2 \times 5 = 10$ 増える。

$ v(5) = 3 + 10 = 13 $

【答】13 m/s

問2:座標の更新(位置計算)

キャラクターの x 座標を物理式で更新する。

  • 初期位置:$x_0 = 0\ \mathrm{m}$
  • 初期速度:$v_0 = 3\ \mathrm{m/s}$
  • 加速度:$a = 2\ \mathrm{m/s^2}$

使用式: $ x(t) = x_0 + v_0 t + \frac{1}{2} a t^2 $

【導出(初心者向け)】 位置の式は3つの足し算になっている。

1. 最初の位置
$x_0$

2. 最初の速度で進む距離
$v_0 t$

3. 加速度で増え続けるぶん
時間とともに速度が増えるため、増加分は
$\frac{1}{2} a t^2$ になる(平均速度の原理)。

よって:

$ x(5) = 0 + 3 \times 5 + \frac{1}{2} \times 2 \times 5^2 = 40 $

【答】40 m

問3:落下による到達時間

高さ $y = 20\ \mathrm{m}$ から物体を静かに落下させる。 重力加速度 $g = 9.8\ \mathrm{m/s^2}$ とする。

落下の式: $ y(t) = y_0 - \frac{1}{2} g t^2 $

着地条件: $ y(t) = 0 $

【導出】 $ 0 = 20 - \frac{1}{2} g t^2 $ $ 0 = 20 - 4.9 t^2 $ $ 4.9 t^2 = 20 $ $ t^2 = \frac{20}{4.9} $ $ t = \sqrt{\frac{20}{4.9}} \approx 2.02 $

【答】約 2.02 秒

問4:落下中の鉛直速度

初期鉛直速度が 0 の物体を 2 秒落下させる。

使用式: $ v(t) = - g t $

【導出】 下方向を負とすると、 $ v(2) = -9.8 \times 2 = -19.6 $

【答】-19.6 m/s

問5:静止摩擦による「動かない判定」

質量 $m = 3\ \mathrm{kg}$ の箱に右向きに $10\ \mathrm{N}$ の力を加える。 静止摩擦係数 $\mu_s = 0.5$、重力加速度 $g = 9.8$。

法線力: $ N = m g = 29.4 $

最大静止摩擦力: $ F_{s,\max} = \mu_s N = 14.7 $

【導出】 押す力 10N が最大静止摩擦 14.7N を下回るため、 摩擦が勝って動かない。

【答】動かない

問6:動摩擦による加速度

動摩擦係数 $\mu_k = 0.3$ の床上で箱が滑っている。 右向きに 10 N の力を加える。

動摩擦力: $ F_k = \mu_k N = 8.82 $

加速度: $ a = \frac{F - F_k}{m} = \frac{1.18}{3} = 0.393 $

【答】約 0.39 m/s^2

問7:毎フレームの速度減衰(ゲーム実装風)

式: v = v * (1 - μ)

初速度 $v_0 = 10$、摩擦係数 $\mu = 0.1$。

【導出】 毎フレーム 10% 減速するので:

$ v_1 = 10 \times 0.9 = 9 $ $ v_2 = 9 \times 0.9 = 8.1 $ $ v_3 = 8.1 \times 0.9 = 7.29 $

【答】7.29

問8:スライド停止までの距離

初速度 $v_0 = 8\ \mathrm{m/s}$ 動摩擦係数 $\mu_k = 0.4$

式: $ x = \frac{v_0^2}{2 \mu_k g} $

計算: $ x = \frac{64}{2 \times 0.4 \times 9.8} = 8.16 $

【答】約 8.16 m

問9:ジャンプ最高到達高度

初期上向き速度 $v_{y0} = 6$ 重力加速度 $g = 9.8$

式: $ h = \frac{v_{y0}^2}{2 g} $

計算: $ h = \frac{36}{19.6} = 1.84 $

【答】約 1.84 m

問10:ゲームループでの座標更新

更新式: v = v + a * dt x = x + v * dt

初期速度 $v_0 = 0$ 加速度 $a = 4$ dt = 0.016

【導出】

(1) 5 フレーム後の速度 1 フレームの速度増分: $ \Delta v = 4 \times 0.016 = 0.064 $ よって: $ v = 0.064 \times 5 = 0.32 $

(2) 5 フレーム後の座標 各フレームの速度の合計: $ x = 0.016(0.064+0.128+0.192+0.256+0.320) = 0.01536 $

(3) 誤差が出る理由 ゲームループの更新式は、本来積分で求めるべき運動を 「細かく刻んで足し算して近似している」ため。

【答】 (1) 0.32 m/s (2) 0.01536 m (3) 離散近似誤差のため

  • game-engineer/classes/2025/gamemath/08.txt
  • 最終更新: 8日前
  • by root