// Baseball calculations // // Alan Eliasen, eliasen@mindspring.com // // The rules of Major League Baseball, section 1.09 states: // "The ball shall be a sphere formed by yarn wound around a small core of // cork, rubber or similar material, covered with two stripes of white // horsehide or cowhide, tightly stitched together. It shall weigh not less // than five nor more than 5 1/4 ounces avoirdupois and measure not less than // nine nor more than 9 1/4 inches in circumference." // // http://mlb.mlb.com/NASApp/mlb/mlb/baseball_basics/mlb_basics_objectives.jsp circ = 9.25 in mass = 5.25 oz circ = new interval[9, 9 + 1/4] inches mass = new interval[5, 5 + 1/4] ounces radius[circ] := circ/(2 pi) volume[radius] := 4/3 pi radius^3 density[mass, volume] := mass / volume vol = volume[radius[circ]] println["The volume is " + formatSig[vol,"in^3",5]] dens = density[mass, vol] println["The density is " + formatSig[dens,"g/cm^3",3]] x[v0, alpha, h0 = 1 meter, hw = 10 feet, g=gravity] := { v0 cos[alpha] tw[v0, alpha, h0, hw, g]@1 } // Drag force on a baseball. See: // // http://farside.ph.utexas.edu/teaching/329/lectures/node42.html#fcd // http://webusers.npl.illinois.edu/~a-nathan/pob/ppt/SABR36_June06.ppt // // It's unclear what the units are of these equations, though! // For the F[v] := { vd = 35 m/s delta = 5 m/s return 0.0039 m^-1 + 0.0058 m^-1 / (1 + e^((v-vd)/delta)) } // Reynolds number of a sphere. // See: http://baseball.physics.illinois.edu/KensrudThesis.pdf , eq. 2.3 // viscosity is *kinematic* viscosity of air. ReynoldsNumber[velocity is velocity, diameter is length, viscosity is kinematic_viscosity] := velocity * diameter / viscosity /* This is the drag coefficient for a MLB baseball, non-rotating. See: http://baseball.physics.illinois.edu/KensrudThesis.pdf , Fig. 4.37. This probably needs to only go up to about 120 mph, as that appears to be an upper limit for batted ball exit velocity according to the PitchFX database: http://baseballsavant.com/pitchfx_search.php */ Cd[velocity] := { if velocity < 91.82 mph return -0.0033 velocity/mph + 0.5883 else return -7e-5 velocity/mph + 0.2917 }