わらび餅の巡洋艦日記

おふねの戦術論と性能論についての記事です.

高Tier巡洋艦の主砲を概観する 補遺

1. 本記事の範囲

 この記事ではゲーム内の弾道を数値的にシミュレーションするための詳細を解説します. 具体例には深入りせず, 数値計算に必要な数式を必要最低限の説明で書いていきます. 貫通力や着弾時間のデータだけ得られればよいという方は下記の (筆者とは無関係な) WoWS 用弾道計算サイトを利用できます. ただし注意点として, この記事の数式が下記サイトと一致するかどうかに関しては保証できません. 近い結果にはなると思います.
jcw780.github.io
 計算にあたってはすべてのパラメータを SI 単位に統一することでミスを防ぐことができます. ありがちなミスとして, 大気密度を求める式のパラメータに m ではなく km 表記のものが混在していると計算結果が狂います.

2. 砲弾の空気抵抗

2.1. 弾道方程式の成分表示

 速度の 2 乗に比例する空気抵抗のもとで, 弾道方程式を速度の水平成分  v _ {x} および鉛直成分  v _ {y} に分解して書くと以下のとおりになります. 鉛直成分は上向きを正とします.

 \displaystyle
\dfrac {dv _ {x}}{dt} = -k \, v _ {x} \, \sqrt{{v _ {x}} ^ {2} + {v _ {y}} ^ {2}}

 \displaystyle
\dfrac {dv _ {y}}{dt} = -k \, v _ {y} \, \sqrt{{v _ {x}} ^ {2} + {v _ {y}} ^ {2}} - g

 k \, \mathrm{[ m^{-1} ]} は空気抵抗の比例定数,  g \, (=9.80665 \mathrm {m \cdot s^{-2}}) は重力加速度です. 右辺第1項にある空気抵抗の成分表示に違和感があるかもしれませんが, 抵抗が速度の 1 乗ではなく 2 乗に比例する場合は綺麗な式になりません. 例えば水平成分に関して  -k \, {v _ {x}} ^ {2} などとしないように注意してください.

 水平および鉛直速度を時間積分すればそれぞれ水平距離  x と高度  y になります. ここでは解説しませんが, 微分方程式の数値解法には Runge–Kutta 法などが利用できます. プログラム上ではもちろん, Excel 上での実装も煩雑ですが可能です. ぜひ挑戦してみてください.

2.2. 空気抵抗の比例定数

 2.1節で k とした空気抵抗の比例定数は以下の式で求まります.

 \displaystyle
k = \rho \cdot \frac{S \cdot C _ {D}}{2 \, m}

 \rho \, \mathrm{[ kg \, m ^ {-3} ] } は大気密度,  C _ {D} \, \mathrm{[ 1 ]} は砲弾に設定された抗力係数,  m \, \mathrm{[ kg ]} は砲弾重量です.
また,  S \, \mathrm{[ m ^ {2} ]} は砲弾の断面積であり, 口径  R \, \mathrm{[ m ]} を用いて

 \displaystyle
S = 2 \, \pi \cdot {\left( \frac{R}{2} \right)} ^ {2}

と書けます.

 ややこしい話ですが, 大気密度  \rho は一定ではなく高度  y の関数になります.

 砲弾の空気抵抗に関してはじーふぉさんのブログへの寄稿という形式で過去に書いたことがあります. 必要であれば参考にしてください.
g4h4ck256.hatenablog.com

2.3. 大気密度

 大気密度  \rho \, \mathrm{[ kg \, m^{-3} ] } は高度  y \, \mathrm{[ m ]} の関数として以下の式から求められます.

 \displaystyle
\rho = \rho _ {0} \cdot {\left( 1 - \frac{\tau \cdot y}{T _ {0}} \right)} ^ {\frac{\tau}{R_{air}}-1}

 \rho _ {0} \, (=1.225 \mathrm{kg \, m^{-3}} ) は地上の大気密度,  \tau \, (=6.5 \times 10^{-3} \mathrm{K \, m^{-1}}) は対流圏の気温減率 (上昇した高度あたりの気温の低下率),  R_{air} \, (=1.236708 \times 10^{-3} \mathrm {m \, K^{-1}})気体定数から重力加速度と大気のモル質量を除した値,  T_{0} \, (=288.15 \mathrm{K}) は地上の気温です. 上記の式を導くには, 理想気体の状態方程式と静水圧平衡の式を連立して解きます.

 大気密度の実際の値は図1のようになります. 高度が上がるほど密度は下がっていくので, 空気抵抗も小さくなっていきます.

 厳密に言えば上式は対流圏のみで成り立つので, 高度11 kmを超えて成層圏に入ると適用範囲外になってしまいます. しかしながらゲーム内の砲弾がこの高高度を通過する状況は非常に珍しいことから問題ないと考えています.

図 1. 大気密度の高度変化

2.4. 砲弾速度にかかる時間倍率

 ここまでの3つの式で弾道方程式は閉じるので, 実際に弾道を計算することができます. ただし, ゲーム内における砲弾はこのシミュレーションどおりの速度よりも速く飛びます. 求めた着弾時間を 2.75 で割ってください.

3. 砲弾の垂直貫通力

 砲弾の垂直装甲に対する貫通力を求める推算式は以下のとおりです. ただし, 現在ではもっと精度のよい式が存在している可能性があります.

 \displaystyle
Vertical \, Penetration = C_{pen} \cdot {v_{x,impact}}^{1.38}

 \displaystyle
C_{pen}=0.081525 \cdot \frac{Krupp}{2400} \cdot m^{0.55} \cdot {\left( 1000 \cdot R \right)}^{-0.65}

 v_{x,impact}  \, \mathrm{[ m \, s^{-1} ] } は砲弾の撃速 (着弾時の速度) の水平成分,  Krupp \, \mathrm{[ 1 ] } は砲弾に設定されたKrupp値,  m  \, \mathrm{[ kg ] } は砲弾重量です.

4. 最後に

 駆け足になりましたが, 弾道計算の数式についてはこれがすべてです. アップデートで艦艇が追加されてもこの弾道計算の根本的な仕組みが変わるわけではないので, お得な知識だと思います. 式変形で誤りや疑問, 分かりづらい点などがあれば twitter (@warabi99_wows) までお願いします. 特に大気密度のところは分かりづらいのではないかと思っているので, 要望があれば式変形を書きます. 貫通力推算式の回帰データも要望があれば提供します.

 「高Tier巡洋艦の主砲を概観する」記事4本を書き終えるまで1年弱を要した遅筆をお許しください. 今後の課題として新艦艇データはぼちぼち追加していくつもりです.