今回もこれまでにひき続きExcelを使った野球の投球軌道シミュレーションをしていこうと思います。
↓ 毎度お世話になっている参考サイトさん
これまでの実装内容
投球の際にボールにかかる力をできる限り全て実装しました。
Excelで投球軌道をグラフにしました。
しかし、抗力係数や揚力係数は決められた数値ではなく、実験(実際に投球)などを行い
その値から計算して抗力係数や揚力係数を得なければいけません。
そこで今回は、どうにかして実験を行わず回転数による抗力係数・揚力係数の変化を再現したい!
ということで、今回もいつものように参考サイトを見ながら作っていきます。
ただ、今回は実装している記事はありません。
回転数・球速による抗力係数や揚力係数の計算
はじめに
今回は上記の論文を利用して、抗力係数や揚力係数の計算を行っていきます。
毎度、お世話になっているサイトに実装の流れのみを示した記事がありました。
第20回 ホップする4シーム(2)「球速140km/hのボールは、時速170.6km/hで動いている」
上記、参考記事ではまずマグヌス効果について解説されています。
なぜ回転数や球速によってストレートは上向きに力がかかるのか
まず大前提として、空気も水や物体と同じように分子の集まりです。
そのため、力を受けた時に反作用が働きます。
上記の画像のように、バックスピンがかかっているとき、上側と下側ではかかる力・速度が変わります。
下側の方が上側より早くなります。
速度を順番にすると、下側だけの速度>球速>上側だけの速度 となります。
計算方法について
以下、公式は全て参考記事から
回転数 N [rps], 球速 V [m/s]
ボールの角速度 : ω = N × 2π [rad/s]
ボールの角速度とは、1秒間に回転する角度を示した値です。
ボール直径 : d [m]
日本で使われている硬式野球ボールは、小学生からプロまで全て同じ規定です。
この規定では、直径72.93~74.84mmとなっています。
今回では、平均である 73.885mm を使い計算できるよう0.073885mとmに単位を合わせます。
ボール半径 : r = d/2 [m]
半径は半分にするだけですが、計算が面倒なのでExcelに任せちゃいましょう!
ボール表面の回転速度 : Vr = r × ω [m/s]
Vr = Vr × 3.6 [km/h]
Vrは3.6かけて時速で計算してください。
次に揚力係数や抗力係数を求める方法を解説していきます。
先ほど紹介した硬式野球ボールに働く空気力の測定という論文。
また、風洞実験による硬式野球ボールの空力特性(回転軸の方向の違い)という論文。
これらの論文で、SPというスピンパラメータと揚力係数・抗力係数の関係図がありました。
そのため、SPが算出できれば大まかな揚力係数や抗力係数は求められるというわけです。
以下、SPの算出方法です。
スピンパラメータ : SP = π×d×N / V
SP = Vr / V
スピンパラメータは、ボール表面の回転速度Vrと球速Vの比ということで
揚力係数や抗力係数には回転数と球速が関係しているというのが良く分かりますね。
上記の論文からスピンパラメータと揚力係数・抗力係数の関係図を作成していきます。
ただ、正確な数値は出ていないので、ほぼ目視で少々誤差はあります。
目視で作成しましたが、かなり近い形で再現できていると思います。
ただ、参考記事の方は論文ではないので、参考にした関係図自体が間違っている可能性はあります。
ここは注意が必要ですね。
実際にExcelでシミュレーションしてみる
ほぼ「計算方法について」のところでExcelを使ってしまっていますが、改めて。
上記の画像のように、まず必要な定数を計算していきます。
ボールの角速度 : ω = N × 2π [rad/s]
公式に沿ってExcelに入力。
ボール表面の回転速度 : Vr = r × ω [m/s]
こちらも公式に沿ってExcelに入力。
しっかり時速に変換することを忘れないように。
スピンパラメータ : SP = π×d×N / V
SP = Vr / V
こちらも公式に沿ってExcelに入力。
時速と時速、選択し間違えに注意!
そして、先ほども言った通り論文の研究結果から目視で関係図を再現。
上記の画像のように値を決めました。
また、Excelの機能で二次関数を求めました。
そして、それぞれそのままセルに計算式を入れるだけ。
=0.0198$S$23$S$23+0.2109*$S$23+0.361
=-0.4995$S$23$S$23+1.0243*$S$23
できました!
上と下のグラフでは約2倍の回転数です。
しっかり回転数の高い方がホップしていることがよく分かります。
最後に
実は参考サイトにはもっともっと正確にするための情報が載っているのですが
今回は一旦ここまでで、このまま後はUnityへ移植していこうと思います。
ここまで見てくださった方、本当にお付き合いありがとうございました
では、Unity編でまた。
コメント