速度計算の数学とベクトル
このページでは、スピードメーター がプレイヤーやエンティティの速度を計算するために使用する数学公式、ベクトル力学、および tick-to-second 換算を解説します。
📊 数学ベクトル公式インフォボックス
| 物理プロパティ | 計算式 / 値 |
|---|---|
| バニラティックレート | $20.0\text{ ticks} = 1.0\text{ 秒}$ |
| Native Speed Source | entity.getKnownSpeed() ($\text{Vec3}$) |
| Total 3D Speed ($S$) | $S = \sqrt{v_x^2 + v_y^2 + v_z^2} \times 20.0$ |
| Horizontal Speed ($H$) | $H = \sqrt{v_x^2 + v_z^2} \times 20.0$ |
| Vertical Speed ($V$) | $V = |
| Unit of Measurement | ブロック/秒 (b/s) |
| Display Precision | %.2f (Locale.ROOT) |
🧮 数学的な換算式
Minecraft は tick ごとに内部でエンティティの移動を計算します。$\vec{v} = (v_x, v_y, v_z)$ を entity.getKnownSpeed() から返される速度ベクトル(単位: $\text{blocks/tick}$)とします。
1. 3D 合成速度の換算
$$S_{\text{bps}} = |\vec{v}| \times 20.0 = \sqrt{v_x^2 + v_y^2 + v_z^2} \times 20.0$$
2. 水平速度成分 ($H$)
$$H_{\text{bps}} = \sqrt{v_x^2 + v_z^2} \times 20.0$$
3. 垂直速度成分 ($V$)
$$V_{\text{bps}} = |v_y| \times 20.0$$
🔄 Tick-秒 換算マトリックス
| 動作 | 生の速度 ($\text{blocks/tick}$) | 水平分量 ($H$) | 垂直分量 ($V$) | Speedometer 出力 (b/s) |
|---|---|---|---|---|
| 歩行 | $0.215\text{ b/t}$ | $4.30\text{ b/s}$ | $0.00\text{ b/s}$ | Speed: 4.30 b/s (H: 4.30, V: 0.00) |
| ダッシュ | $0.280\text{ b/t}$ | $5.60\text{ b/s}$ | $0.00\text{ b/s}$ | Speed: 5.60 b/s (H: 5.60, V: 0.00) |
| ダッシュジャンプ | $0.340\text{ b/t}$ | $6.20\text{ b/s}$ | $2.42\text{ b/s}$ | Speed: 6.66 b/s (H: 6.20, V: 2.42) |
| ボート (青氷) | $3.500\text{ b/t}$ | $70.00\text{ b/s}$ | $0.00\text{ b/s}$ | Speed: 70.00 b/s (H: 70.00, V: 0.00) |
| エリトラ急降下 | $2.500\text{ b/t}$ | $30.00\text{ b/s}$ | $40.00\text{ b/s}$ | Speed: 50.00 b/s (H: 30.00, V: 40.00) |
