お望みならば メジャーリーグベースボールの投手になるには、ボールを投げることができなければなりません 本当 時速 85 ~ 160 マイルほどの速さです。 ピッチが速ければ速いほど、打者が反応してバットを振る時間が短くなり、ボールを打ってストライクを取れる可能性が高くなります。 (野球ファンではない人のために:ストライクとは、打者がストライクゾーンにあるボールをスイングして空振りしたり、スイングし損ねたりしたことを指します。もちろん、3ストライクでアウトです。)この要件にはかなりの意味があります。メジャーリーグで投手をするという夢が潰えた。
しかし…もっと遅い速度でストライクを投げることは可能でしょうか?
実際、かなりの数の選手が非常に低い球速でストライクを投げており、あるケースでは時速51.1マイルにまで達しているという。 コード化野球 Twitterのアカウント。 試合が延長戦に突入し、チームが救援投手をすべて使い果たしたとき、監督はポジションプレーヤーをマウンドに送ることがあります。 レギュラー投手ではない彼らは通常、ボールを低速で投げますが、それでもストライクを奪うことはできます。
Python を使用していくつかのピッチをモデル化し、これがどれほど難しいかを見てみましょう。
速いピッチの軌道
ボールが投手の手から離れると、ボールは 2 つの力、つまり下方に引っ張る重力と後方に押す空気抵抗力によって支配される経路に沿って移動します。 これら 2 つの力の組み合わせにより、ボールがホームベースに向かって移動するときの速度が変化します。
重力はボールの質量 (約 0.144 キログラム) と重力場 (g = 9.8 ニュートン/キログラム) のみに依存する一定の力であるため、対処するのは非常に簡単です。 抗力は、この力の大きさと方向がボールの速度に依存するため、より困難です。 問題は、正味の力によってボールの速度が変化することですが、今度はこれらの力の 1 つ (抗力) が変化することです。 依存します ボールの速度について。
この動きをモデル化するほぼ唯一の方法は、動きを小さな時間間隔に分割する数値計算を使用することです。 これらの各間隔中、力は一定であると仮定できます。 力を一定にすると、野球の速度と位置の変化がわかります。 次の時間間隔では、速度が変化したため、新しい力を見つけて、プロセス全体を繰り返すことができます。
これは「物理チート」のように思えるかもしれませんが、この方法でしか処理できない問題は無数にあります。 私のお気に入りの例は、三体問題 (宇宙における 3 つの星の相互作用などを支配する) を解くことです。 地球の気候をモデル化する、または水素以外の原子の量子力学をモデル化します。
その前に、よくある 2 つの質問に答えさせてください。 第一に、本当に空気抵抗力を含める必要があるのでしょうか?