DEV Community

YMori
YMori

Posted on • Edited on • Originally published at zenn.dev

Why Two Pitchers with the Same Arm Speed Differ by 10 mph — A Motion Capture Analysis

License: Motion capture data from Driveline OpenBiomechanics Project under CC BY-NC-SA 4.0 (non-commercial, share-alike).
Citation: Wasserberger KW, Brady AC, Besky DM, Jones BR, Boddy KJ. The OpenBiomechanics Project: The open source initiative for anonymized, elite-level athletic motion capture data. (2022).
License: https://creativecommons.org/licenses/by-nc-sa/4.0/
Derivative works (graphs, GIFs) in this article follow the same license. Commercial use by professional sports organization employees is restricted.

The Finding

Pitchers with nearly identical arm speed (24–26 m/s) can differ by up to 13 mph in pitch velocity.

Arm strength alone doesn't explain this gap. So what does?

I analyzed 61 pro pitchers using Driveline OpenBiomechanics C3D motion capture data and found 5 body mechanics factors that explain the difference.

GitHub: https://github.com/yasumorishima/baseball-cv

Key Terms (for first-time readers)

Term Meaning
Motion capture Technology that records body movement as 3D coordinate data. Used in sports analysis
C3D file A motion capture data format storing full-body marker positions as 3D coordinates
Arm speed The velocity of the throwing arm during a pitch (m/s). Correlates with pitch velocity but doesn't fully explain it
Biomechanics The study of human movement using physics and mechanics
Release point The position and timing when the ball leaves the hand. Affects velocity, location, and movement

The Data

Driveline OpenBiomechanics Project (OBP)

  • 61 pitchers, C3D motion capture files
  • 45 markers (shoulder, elbow, wrist, pelvis, knee, heel, etc.)
  • 360 Hz sampling rate
  • Pitch speed range: 71.3–93.1 mph

I used ezc3d to read the C3D files (I contributed a bug fix to this library, which is what started this project).

Defining "Body Efficiency"

Arm speed and pitch velocity are strongly correlated (r=0.67). That's expected.

The key insight: compute the residual after regressing pitch speed on arm speed:

lm = LinearRegression().fit(df[['peak_wrist_linear_speed']], df['pitch_speed_mph'])
df['body_efficiency'] = df['pitch_speed_mph'] - lm.predict(df[['peak_wrist_linear_speed']])
Enter fullscreen mode Exit fullscreen mode

Positive = "throws faster than arm speed predicts" → efficient body use
Negative = "arm is fast but doesn't translate" → arm-reliant

I split pitchers into quintiles Q1 (least efficient) through Q5 (most efficient).

Graph 1: The Big Picture

Body efficiency overview

Three panels:

Left (scatter): Arm speed (x) vs pitch velocity (y). Notice vertical spread — same arm speed, very different outcomes.

Center (R² steps): Each bar shows how much predictive power is added by each factor. Taller = more explained.

Right (Q1 vs Q5): Each bar shows how far each group deviates from the overall average (positive = favorable direction for pitch speed, negative = unfavorable).

The 5 Factors

Factor Physical meaning
Arm speed + Height 0.473 Baseline
+ Stride (translation) 0.477 How far the lead foot travels
+ Leg lift (elastic) 0.522 Knee height before stride
+ Arm chain (whip) 0.562 Whether the body drives the elbow
+ Knee smoothness 0.648 Smoothness of lead leg trajectory

R²=0.648 means these 5 factors explain ~65% of pitch speed variance. Arm speed alone explained ~47% — an 18-point improvement.

What each factor means

Stride: How far the lead foot advances before landing. Longer stride = more translational energy transferred to the arm.

Leg lift: Knee height during windup. Higher knee = more elastic energy stored in the hip, released during the stride.

Arm chain (whip): Ratio of elbow speed to wrist speed. Lower = body is pulling the elbow (body-driven). Higher = arm working independently.

Knee smoothness: How smoothly the lead knee moves through its 3D trajectory. Measured by the irregularity of the knee's path — lower = smoother, more controlled movement.

Why Does Knee Smoothness Matter?

This is the most counterintuitive finding:

  • Looking at all pitchers: r=+0.12 (faster pitchers move their whole body more intensely, so knee irregularity tends to be higher too)
  • After controlling for arm speed: r=−0.45*** (among pitchers with the same arm speed, smoother knees = faster pitches)

The effect only appears after removing arm speed's influence — meaning the raw data masks the true relationship. Once you account for arm speed, smoother knees consistently predict faster pitches.

Proposed mechanism: smooth knee → more efficient pelvis rotation → higher pelvis/arm speed ratio (+17%) → the body "whips" the arm through the kinematic chain

Graph 2: Q1 vs Q5 Head-to-Head

Q1 vs Q5 comparison

Metric Q1 (inefficient) Q5 (efficient)
Arm speed 24.73 m/s 24.69 m/s
Pitch speed 79.1 mph 89.3 mph
Gap +10.2 mph

Arm speed difference: 0.04 m/s. Pitch speed difference: 10.2 mph (~16 km/h).

Skeleton GIF: Same Arm Speed, 10 mph Apart

Q1 vs Q5 skeleton comparison

Left (Q1): Arm 26.56 m/s → 80.8 mph (stride 0.30m)
Right (Q5): Arm 24.96 m/s → 91.8 mph (stride 0.89m)

Red = lead leg. Orange star = foot landing position. Both are synchronized at foot strike.

The difference in stride length is immediately visible. Q5 drives the entire body forward while Q1 stays more upright.

Root Cause: Why Is Q1's Stride Short?

I traced the cause to ankle braking — how much the lead foot decelerates on landing.

  • Q1: ankle braking ≈ 0.06 m/s² (nearly none)
  • Q5: ankle braking ≈ 3.58 m/s² (strong brake)

ankle_braking → stride correlation: r=+0.55*

Lead knee lift also differed:

  • Q1: max knee flexion 85.4° (shallow lift)
  • Q5: max knee flexion 76.0° (deep lift)

The causal chain:

Shallow knee lift → short stride
Weak ankle brake → short stride
                ↓
        Less body translation
                ↓
        Weaker kinematic chain → lower pitch speed
Enter fullscreen mode Exit fullscreen mode

Summary

  • Among pitchers with the same arm speed, pitch velocity can vary by 13 mph
  • A "body efficiency" residual metric exposes this gap
  • 5 body mechanics factors explain 64.8% of pitch speed variance (R²=0.648)
  • Knee smoothness contributes most (+0.087 R²); its effect only becomes visible after controlling for arm speed
  • Root cause: ankle braking and knee lift → stride → kinematic chain

The data suggests that "how the body is sequenced" matters as much as raw arm speed — consistent with established biomechanics literature on the kinematic chain.

GitHub: https://github.com/yasumorishima/baseball-cv

Data: Driveline OpenBiomechanics Project (CC BY-NC-SA 4.0, non-commercial)
ezc3d: pyomeca/ezc3d (MIT License)

Top comments (0)