NASA Meatball Image

CurveBall Version 1.2


This is a beta 1.2 version of the CurveBall program, and you are invited to participate in the beta testing. If you find errors in the program or would like to suggest improvements, please send an e-mail to


With this software you can investigate how a big league pitcher throws a curveball by changing the values of the factors that affect the aerodynamic forces on the ball. These are the same forces that generate the lift of an aircraft wing, which can be investigated with another Java Applet called FoilSim II. If you are an experienced user of CurveBall, you may prefer a slightly different version of CurveBall. To return to the original default conditions, click the Reset button.


The program screen is divided into three main parts:

  1. At the top of the screen is a graphics window. By moving between Ballpark and Flowfield, you can display a drawing of the infield and your pitch trajectory or you can see the flow of air around the ball. In both cases you are looking down onto the ball or the infield. The simulation is two dimensional with the ball spinning about an axis pointing into the Earth (or Mars). The force occurs side to side; we are not concerned about the ball falling towards the surface.
  2. Below the graphics window, on the left of the screen are inputs and outputs associated with the atmosphere through which the ball moves. To the right of the graphics choice button, a black output box shows the side force on the baseball. The force can be computed in either English or metric units and is also displayed on a force gage directly below the output box. The bar on the gage is colored yellow when the force is negative (pushes the ball to the left of home plate as viewed from the mound) and cyan when the force is positive (pushes the ball to the right of home plate as viewed from the mound.) Below the gage are some input/output boxes. By convention input boxes have a white background and black numerals and you can key in new values. If the box has green numerals on a black background it is an output box and you cannot key in values. Below the boxes is a choice button labeled Location. The default is Specify, which allows you to type in the atmospheric conditions at your ballpark. You can specify the temperature, the atmospheric pressure, and the relative humidity of the air; the program will calculate the air density that affects the side force. You may choose, however, to use a standard day (average) atmosphere at several different locations displayed on the choice button menu. Try setting up a pitch and changing the location. What happens to the trajectory?
  3. Below the graphics window on the right of the screen are inputs to set up and throw the pitch. You can be a right hander or a lefty by clicking on the round buttons. To set up a pitch, you must specify the speed and the spin on the ball, the spot on the pitcher's mound from which you release the ball, and the angle at which you release the ball. A small arrow on the ball in the graphics window will help you determine these values. And the red bar on the ball shows the direction and rate of spin. If you push the blue button marked Set Up Next Pitch you will not see where the ball will go until you push the red Throw the Pitch button. Otherwise, as you change inputs, you will see the pitch trajectory. Above the blue button you will see a box that judges your pitch as a ball or a strike and tells you how far from the center of the plate the pitch first crossed the front of the plate.

    Have fun!

    Button to Download a Copy of the Program
    Guided Tours
    • Button to Display Previous Page CurveBall - Baseball Simulation: Button to Display Next Page


    Beginner's Guide to Aerodynamics
    Beginner's Guide to Propulsion
    Beginner's Guide to Model Rockets
    Beginner's Guide to Kites
    Beginner's Guide to Aeronautics

    Button to Display Aerodynamics Index Button to Display Propulsion Index Button to Display Model Rocket Index Button to Display Kite Index

    Back to top

    Go to...

    Beginner's Guide Home Page

    byTom Benson
    Please send suggestions/corrections to: