このアプリは技術検証です。ボールの飛び方を、測定から作られた係数で計算して見せられるかを試しています。数値は研究や公開されている平均値をもとにした目安で、投手の例はすべて目安か架空です。選手の投げ方の指導・評価・判断には使えません。
球種の名前から曲がり方を決めていません。放す位置・速さ・向きと、回転(回転数と回転軸の向き)だけを入れ、ボールに働く力を計算して運動方程式を解いています(4次のルンゲ=クッタ法、1 ミリ秒きざみ)。働く力は次のとおりです。
CD・CL の式は、Alan Nathan の軌道計算機(ボールの飛び方の測定から作られたもの)と同じです。空気の流れそのものを解いているのではなく、測定から作られた係数で力を計算しています(ボールのまわりの乱れた流れは、ブラウザでは正確に解けないため)。
計算の確かめ: 「変化量(50 ft から)」は、ホームから 50 フィートの点からホームまでのずれで、試合の測定の解析でよく使われる測り方に合わせた目安です。球種の例の値では、まっすぐ 上 15・腕の側 6 インチ、ツーシーム 上 9・腕の側 14、カーブ 下 11・グラブの側 9、チェンジアップ 上 6・腕の側 15、スプリット 上 4・腕の側 10、スイーパー グラブの側 13、カット 上 9・グラブの側 3、スライダー 上 1・グラブの側 4 インチで、MLB の平均的な変化量の目安(まっすぐ 16.8・7.6 など)と同じくらいです。「変化量(放してから)」は手を離れた所からのずれで、2 割ほど大きくなります。ナックルは、回転しないときの最大の変化が約 76 cm(30 インチ)で速さによらず、試合の測定(Nathan 2012、最大およそ 30 インチ)と同じくらいです(速さによらないことは Watts & Sawyer の予想どおり)。
ホームの面に、基準の点(白い輪)と、ボールが通ったときに実際に通った点(球種の色)の印を出します。基準は「③ ねらい」で選べます: フォーシーム(初め。同じねらい方で投げたまっすぐが通る点。ずれ = まっすぐとの変化の差)か、回転がなければ(回転と縫い目の力なしで通る点。ずれ = 変化そのもの)。白い輪はドラッグして動かせます。動かすと、基準の球がその点を通るようにねらいを動かします。初めは白い輪はゾーンのまん中(うすい十字)にあります。
初めは「回転と縫い目の力がなければ、ねらった点に届く向き」に放します。だから「まん中から」のずれが、回転と縫い目による変化です。ほかに「まん中へまっすぐ向けて放す」「この球がまん中に届くよう計算で合わせる」「角度のつまみで決める」を選べます。
人形は、ボールを放す瞬間から投げ終わり(放して 0.35 秒後)までの姿勢を(腕はほぼのばしたまま肩のまわりの弧を、前から下・グラブの側へ振り下ろす。放した直後がいちばん速い)、腕の角度と放す位置から組み立てた目安の絵で、計算には使っていません。腕の角度を変えると、放す位置(よくある値の表から)と回転の向き(腕の角度と同じだけ回す。回転の向きは腕の角度でほぼ決まる、Nathan 2023)が変わります。どちらも目安です。
次の小さな効果も計算に入れています(それぞれ外せます)。
どれもホームでの位置を 1〜2 mm 動かすだけです。計算の刻みを 1 ms から 0.25 ms にしても、答えは 0.001 mm も変わりませんでした。答えをいちばん大きく左右するのは、空気の力の係数(CD・CL・縫い目の力)が測定から作った式で、ボールごと・測り方ごとにちがうことです。揚力の係数は、別の測定の式(Sawicki ほか 2003)に変えて、答えがどれだけ変わるかを見られます。空気の抵抗の係数(投球で 0.35〜0.37)は、試合の測定の平均(約 0.35、Kagan & Nathan 2014)と同じくらいです。
球速は、どこで測るかで数字が変わります(ボールは空気の抵抗でホームまでに 1 割ほど遅くなるため)。「② 球の速さと回転」に、いまの球を 放した瞬間(初速)・ホームから 50 ft・ホームから 10 ft・ホーム(終速)で測ったときの速さを出しています。大リーグの公式の球速は、2008〜16 年は 50 ft 地点(PITCHf/x)、2017 年からは放した瞬間(Statcast。平均で約 0.6 mph 速く出るようになった)です。日本のプロ野球で球速の表示が始まったのは 1979 年ごろで、測る位置や角度が球場によってちがい、昔と今の数字はそのままは比べられないとされています。
「測った記録を、放した瞬間の速さに直す」では、いまの投げ方(回転・空気)のまま、ある場所で測った速さになる初速を逆に計算します。例: 1974 年の大リーグで、ホームの約 10 ft 手前で 100.8 mph と測られた記録は、この計算では放した瞬間 約 177 km/h(110 mph)になります(ボールや回転・空気が今と同じと仮定した目安)。
時間のつまみの下の帯は、打者の時間割です。スイング(振り始めから当たるまで)と、振ると決めてから振り始めるまでの時間は、研究のまとめ(Nakashima ほか 2025)にある範囲(130〜280 ms・150〜250 ms)の中から、つまみで選べます(初めはどちらも 150 ms)。決める最後の時刻 = ホームに着く時刻 − 2つの時間 です。人によって、また打ち方によって大きくちがうので、目安です。
「目で追えなくなる」は、打者の目(右打者で、ホームのまん中から捕手から見て左へ 0.8 m・高さ 1.5 m)から見たボールの動きが 70°/秒をこえる時刻です(目だけで滑らかに追える限界。Bahill & LaRitz 1984 が Schalen 1980 を引用。人によって 100°/秒という報告もあり、頭を動かすともう少し追えます)。3D の「打者の目」のカメラは、この時刻まではボールを追い、そのあとは向きを止めます。
重ねた球種のはなれは、打者の目から見た向きのちがい(角度)で比べています。
ボールといっしょに動いて見た空気の流れを、ボールの中心を通り「進む向き」と「横向きの力の向き」をふくむ面で切って描いています。空気がボールの面からはがれる位置が、力の側ほど後ろへずれ、後ろの流れ(伴流)が反対の側へ曲がります。空気を押しやった反作用が、ボールを押す力です(はく離が遅れる側へ力がかかることは、Watts & Sawyer 1975・Nathan 2012 の説明のとおり)。
ただし、この図は流れを計算したものではありません。前側の流線は円柱のまわりの流れの式(回転があれば渦を足したもの)、はがれる位置のずれと伴流の曲がりは、計算した横向きの力の大きさに合わせた目安です。赤い点は、いまの時刻に縫い目がこの断面を横切る場所です。粒の動きは、見やすいように本物よりずっと遅くしています。
空気の密度は、気温・標高・気圧・湿度から Nathan の軌道計算機と同じ式で計算しています(ρ = 1.2929 × 273/(T+273) × (P·e−βh − 0.3783 × 湿度 × 飽和水蒸気圧) / 760、気圧は mmHg、β = 1.217×10⁻⁴ /m)。空気の抵抗・マグヌス力・縫い目の力はどれも密度に比例するので、標高 1600 m では 18% ほど小さくなります。風があるときは、力を空気に対する速さ(ボールの速度 − 風の速度)で計算しています。風は地面からの高さによらず、同じ強さ・向きとしています。
「平均的な投手」の球種の値は MLB の平均的な値の目安です。ほかの投手(本格派・フォーク・サイドスロー・アンダースロー・技巧派の左腕・ナックルボーラー)は、よくある投げ方を表した架空の例で、実在の投手ではなく、測られた値でもありません。放す高さ・位置と、球種ごとの速さ・回転は目安です。
道すじ・ボール・ストライクゾーン・マウンド・ホームは計算と寸法どおりの位置に描いています(道すじの管の太さは、遠くからでも見えるように太くしています)。ホームのまわりの土の円・バッターボックス・白線・ホームベース・マウンドは公認野球規則の寸法のおおよそです。背景の野球場は、実在の球場ではない絵で、投手からホームまでにピントを合わせ、その手前と奥を、カメラからの距離に応じてなめらかにぼかしています(望遠のカメラほどピントが浅い。本物のレンズの計算ではなく、それらしく見せるための処理)。カメラの「捕手の目」(初めの画面)は、しゃがんだ捕手の目の位置の目安(ホームの後ろ 1.0 m・高さ 0.95 m)から投手のほうを見たまま、ほかのカメラの位置は、ゾーン・道すじ・投手が一度に見えるように決めたこのアプリのオリジナルです。ボールはホームを通ったあとも、ホームの 0.55 m 後ろ(捕手のミットの位置の目安)まで計算します。変化量などの数字は、ホームの前の端で測っています。重ねて見るときは、いまの球も球種の色で描きます。ボールの縫い目は、108 の V 字の縫い目を、テニスボールの曲線で近似した縫い目の線にそって並べた絵です(形は目安)。左投げは、右投げを捕手から見て左右に鏡うつしにしたものです。
学習用に簡単にしたものです。
three.js r128(MIT License)、フォント: Google Fonts(SIL Open Font License)
This app is a tech demo. It tests whether a ball's flight can be computed and shown using coefficients built from measurements. The numbers are rough guides based on research and published averages, and every pitcher example is either an average or fictional. It cannot be used to coach, evaluate or judge how real players throw.
The way a pitch breaks is not decided from its name. The app only takes the release point, speed and direction, and the spin (spin rate and spin-axis direction). It computes the forces on the ball and solves the equations of motion (4th-order Runge–Kutta, 1 ms steps). The forces are:
The CD and CL formulas are the same as in Alan Nathan's trajectory calculator (built from measurements of real ball flights). The app does not solve the airflow itself; it computes the forces from coefficients built from measurements (the turbulent flow around a ball cannot be solved accurately in a browser).
Checking the numbers: “Break (from 50 ft)” is the deviation from a point 50 feet from home plate to the plate, a rough match to the way game-tracking data is often analysed. With the example pitches it gives: four-seam up 15 / arm side 6 inches, two-seam up 9 / arm side 14, curveball down 11 / glove side 9, changeup up 6 / arm side 15, splitter up 4 / arm side 10, sweeper glove side 13, cutter up 9 / glove side 3, slider up 1 / glove side 4 inches — about the same as typical MLB averages (four-seam 16.8 and 7.6, and so on). “Break (from release)” is measured from the hand and is about 20% larger. For the knuckleball, the largest break with no spin is about 76 cm (30 inches) whatever the speed, about the same as in game data (Nathan 2012, up to about 30 inches); not depending on speed is what Watts & Sawyer predicted.
On the plane of home plate the app shows a reference point (white ring) and, once the ball has passed, the point it actually crossed (in the pitch colour). Choose the reference under “③ Aim”: Four-seam (default; where a four-seam thrown with the same aiming would cross, so the gap = the difference in break from a four-seam) or No spin (where it would cross without spin and seam forces, so the gap = the break itself). You can drag the white ring; the aim then changes so that the reference pitch crosses that point. At first the white ring is at the middle of the zone (faint cross).
By default the ball is released “in the direction that would reach the aim point if there were no spin or seam force”, so the gap from the middle is the break caused by spin and seams. You can also choose “point straight at the middle”, “fit so this pitch reaches the middle”, or “set the angle with the sliders”.
The figure is a rough drawing built from the arm angle and release point, from release to the end of the follow-through (0.35 s after release; the nearly straight arm swings along an arc around the shoulder, forward, down and toward the glove side, fastest right after release). It is not used in the calculation. Changing the arm angle changes the release point (from a table of typical values) and the spin direction (rotated by the same amount; the spin direction is mostly set by the arm angle, Nathan 2023). Both are rough guides.
These small effects are also included (each can be turned off):
Each one moves the ball at the plate by only 1–2 mm. Changing the time step from 1 ms to 0.25 ms changed the answer by less than 0.001 mm. What matters most is that the air-force coefficients (CD, CL, seam forces) are formulas built from measurements, and they differ from ball to ball and from method to method. You can switch the lift coefficient to a formula from another measurement (Sawicki et al. 2003) to see how much the answer changes. The drag coefficient for pitches (0.35–0.37) is about the same as the game-data average (about 0.35, Kagan & Nathan 2014).
The speed number depends on where it is measured (air resistance slows the ball by about 10% before it reaches the plate). “② Speed and spin” shows the current pitch's speed at release, 50 ft from the plate, 10 ft from the plate, and at the plate. MLB's official pitch speed was measured at 50 ft in 2008–16 (PITCHf/x) and at release since 2017 (Statcast; on average about 0.6 mph faster). In Japanese pro baseball, speed displays began around 1979; the measuring position and angle differed between ballparks, so old and new numbers are said not to be directly comparable.
“Convert a measured speed to release speed” works backwards: keeping the current pitch (spin, air), it finds the release speed that would give the measured speed at that spot. Example: a 1974 MLB pitch measured at 100.8 mph about 10 ft before the plate comes out at about 177 km/h (110 mph) at release in this calculation (a rough guide that assumes the ball, spin and air are the same as today).
The strip under the time slider is the batter's timetable. The swing time (from starting the swing to contact) and the time from deciding to starting the swing can be set with sliders within the ranges in a research review (Nakashima et al. 2025: 130–280 ms and 150–250 ms; both start at 150 ms). The last moment to decide = the time the ball reaches the plate − the two times. These vary a lot between people and swings, so they are rough guides.
“Eyes can't keep up” is when the ball's motion, seen from the batter's eye (a right-handed batter, 0.8 m to the catcher's left of the plate centre, 1.5 m high), goes faster than 70°/s (the limit for following smoothly with the eyes alone; Bahill & LaRitz 1984 citing Schalen 1980; some report 100°/s, and moving the head helps a little). The 3D “Batter's eye” camera follows the ball until that moment and then stops turning.
For overlaid pitches, the separation is compared as the difference in direction (angle) seen from the batter's eye.
It shows the air as seen moving along with the ball, cut by the plane through the ball's centre that contains the direction of motion and the direction of the sideways force. The point where the air separates from the ball moves further back on the force side, and the flow behind the ball (the wake) bends to the opposite side. The reaction to pushing the air away is the force that pushes the ball (the force acts toward the side where separation is delayed, as explained by Watts & Sawyer 1975 and Nathan 2012).
However, this picture is not a flow computation. The streamlines in front come from the formula for flow around a cylinder (plus a vortex when there is spin), and the shift of the separation points and the bend of the wake are rough guides sized to the computed sideways force. The red dots are where the seams cross this plane right now. The particles move much more slowly than the real air so they are easy to follow.
Air density is computed from temperature, altitude, pressure and humidity with the same formula as Nathan's trajectory calculator (ρ = 1.2929 × 273/(T+273) × (P·e−βh − 0.3783 × humidity × saturation vapour pressure) / 760, pressure in mmHg, β = 1.217×10⁻⁴ /m). Drag, Magnus force and seam force are all proportional to density, so at 1600 m altitude they are about 18% smaller. With wind, the forces use the speed relative to the air (ball velocity − wind velocity). The wind has the same strength and direction at every height.
The “Average pitcher” pitch values are rough guides to MLB averages. The other pitchers (power, forkball, sidearm, submarine, crafty lefty, knuckleballer) are fictional examples of common styles. They are not real pitchers and not measured values. Release height, release point, and each pitch's speed and spin are rough guides.
The path, ball, strike zone, mound and home plate are drawn at the computed and regulation positions (the path tube is drawn thicker so it can be seen from far away). The dirt circle around home, batter's boxes, chalk lines, home plate and mound roughly follow the Official Baseball Rules dimensions. The ballpark in the background is an invented drawing, not a real stadium. The focus is set from the pitcher to home plate, and things in front and behind are smoothly blurred by their distance from the camera (narrower cameras have shallower focus; this is a visual effect, not a real lens calculation). The “Catcher's eye” camera (the opening view) sits at a rough crouching catcher's eye position (1.0 m behind the plate, 0.95 m high) looking toward the pitcher. The other camera positions are this app's own, chosen so the zone, path and pitcher can be seen at once. The calculation continues after the plate to 0.55 m behind it (roughly where the catcher's mitt is). Numbers such as break are measured at the front edge of home plate. When pitches are overlaid, the current pitch is also drawn in its pitch colour. The ball's seams are a picture: 108 V-shaped stitches placed along a seam line approximated by the tennis-ball curve (the shape is a rough guide). Left-handed pitching is the right-handed pitch mirrored left–right as seen by the catcher.
Simplified for learning.
three.js r128 (MIT License); fonts: Google Fonts (SIL Open Font License)