(*^ ::[ Information = "This is a Mathematica Notebook file. It contains ASCII text, and can be transferred by email, ftp, or other text-file transfer utility. It should be read or edited using a copy of Mathematica or MathReader. If you received this as email, use your mail application or copy/paste to save everything from the line containing (*^ down to the line containing ^*) into a plain text file. On some systems you may have to give the file a name ending with ".ma" to allow Mathematica to recognize it as a Notebook. The line below identifies what version of Mathematica created this file, but it can be opened using any other version as well."; FrontEndVersion = "NeXT Mathematica Notebook Front End Version 2.2"; NeXTStandardFontEncoding; fontset = title, inactive, noPageBreakBelow, noPageBreakInGroup, nohscroll, preserveAspect, groupLikeTitle, center, M7, bold, L1, e8, 24, "Times"; ; fontset = subtitle, inactive, noPageBreakBelow, noPageBreakInGroup, nohscroll, preserveAspect, groupLikeTitle, center, M7, bold, L1, e6, 18, "Times"; ; fontset = subsubtitle, inactive, noPageBreakBelow, noPageBreakInGroup, nohscroll, preserveAspect, groupLikeTitle, center, M7, italic, L1, e6, 14, "Times"; ; fontset = section, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, grayBox, M22, bold, L1, a20, 18, "Times"; ; fontset = subsection, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, blackBox, M19, bold, L1, a15, 14, "Times"; ; fontset = subsubsection, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, whiteBox, M18, bold, L1, a12, 12, "Times"; ; fontset = text, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = smalltext, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 10, "Times"; ; fontset = input, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeInput, M42, N23, bold, L1, 12, "Courier"; ; fontset = output, output, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L-5, 12, "Courier"; ; fontset = message, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L1, 12, "Courier"; ; fontset = print, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L1, 12, "Courier"; ; fontset = info, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L1, 12, "Courier"; ; fontset = postscript, PostScript, formatAsPostScript, output, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeGraphics, M7, l34, w282, h287, L1, 12, "Courier"; ; fontset = name, inactive, noPageBreakInGroup, nohscroll, preserveAspect, M7, italic, B65535, L1, 10, "Times"; ; fontset = header, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, italic, L1, 12, "Times"; ; fontset = leftheader, 12; fontset = footer, inactive, nohscroll, noKeepOnOnePage, preserveAspect, center, M7, italic, L1, 12, "Times"; ; fontset = leftfooter, 12; fontset = help, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = clipboard, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = completions, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12, "Courier"; ; fontset = special1, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special2, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special3, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special4, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special5, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; paletteColors = 128; showRuler; automaticGrouping; magnification = 125; currentKernel; ] :[font = title; inactive; preserveAspect; startGroup] GOLFLIFT :[font = subtitle; inactive; preserveAspect] A Golf ball's Flight With and Without Lift :[font = section; inactive; preserveAspect; startGroup] BRIEF ABSTRACT :[font = subsection; inactive; preserveAspect; endGroup] The classical projectile (golf ball in this case) motion problem is contrasted with a more realistic one accounting for lift forces due to the spin on the ball. The problem is still written for students new to projectile motion. Rather than having to understand a more complicated model, data is presented and the students are expected to use computer software to fit an appropriate function to the data. :[font = section; inactive; Cclosed; preserveAspect; startGroup] GENERAL INFORMATION :[font = subsection; inactive; preserveAspect] FileName: GOLFLIFT :[font = subsection; inactive; preserveAspect] Full title: A Golf ball's Flight With and Without Lift :[font = subsection; inactive; preserveAspect] Last Update: 5/29/96 :[font = subsection; inactive; preserveAspect; startGroup] Developers: :[font = subsubsection; inactive; preserveAspect] Rosaline Secrest, Science Department, South Vigo High School, Terre Haute, IN 47802 USA Email:rls@galileo.vigoco.k12.in.us :[font = subsubsection; inactive; preserveAspect] Susan Clements, Mathematics Department, South Vigo High School, Terre Haute, IN 47802 USA Email: src@galileo.vigoco.k12.in.us :[font = subsubsection; inactive; preserveAspect; endGroup] Aaron Klebanoff, Department of Mathematics, Rose-Hulman Institute of Technology, Terre Haute IN 47803 USA. :[font = subsection; inactive; preserveAspect] Contact: Aaron Klebanoff, Department of Mathematics, Rose-Hulman Institute of Technology, Terre Haute IN 47803 USA. Phone: 812-877-8151. Email: Aaron.Klebanoff@rose-hulman.edu. FAX: 812-877-3198. :[font = subsection; inactive; preserveAspect; endGroup] Support: The production of this material is supported by the National Science Foundation under Division of Undergraduate Education grant DUE-9352849: Development Site for Complex, Technology-Based Problems in Calculus with Applications in Science and Engineering and the Arvin Foundation of Columbus IN. :[font = section; inactive; Cclosed; preserveAspect; startGroup] STATEMENT OF PROBLEM :[font = subsection; inactive; preserveAspect] The goal of this problem is to contrast the motion of a golf ball ignoring lift with the motion considering lift. Lift is the net upward force on the golf ball produced by the rotational motion or spin of the ball through the air. :[font = subsection; inactive; preserveAspect] 1) First, assuming that the only force acting on the golf ball is due to gravity (in particular, that there is no lift on the ball), determine the horizontal distance (range) that the ball will travel down a level greenway as a function of the launch angle given an initial launch speed of 58 m/sec. :[font = subsection; inactive; preserveAspect; startGroup] 2) The data below shows the actual distance a typical golf ball travels given an initial speed of 58 m/sec and a lift (due to the spin of the golf ball) as a function of the launch angle. :[font = input; preserveAspect] data = {{2.5, 94}, {5, 126}, {7.5, 145}, {10, 161}, {12.5, 170}, {15, 177}}; :[font = input; preserveAspect; startGroup] TableForm[data, TableHeadings -> {None, {"launch angle [degrees]", "horizontal range [meters]"}}, TableAlignments -> Center] :[font = output; output; inactive; preserveAspect; fontLeading = 0; endGroup] TableForm[{{2.5, 94}, {5, 126}, {7.5, 145}, {10, 161}, {12.5, 170}, {15, 177}}, TableHeadings -> {None, {"launch angle [degrees]", "horizontal range [meters]"}}, TableAlignments -> Center] ;[o] launch angle [degrees] horizontal range [meters] 2.5 94 5 126 7.5 145 10 161 12.5 170 15 177 :[font = subsubsection; inactive; preserveAspect] a) Fit the data to a curve. Graph the data and curve together and label the axes. :[font = subsubsection; inactive; preserveAspect; endGroup; endGroup] b) By comparing the graphs (with lift vs. without lift), decide which launch angle(s) affect the lift the greatest. the least. (Only compare over the range of the data -- that is, do not extrapolate with the curve fit.) :[font = section; inactive; Cclosed; preserveAspect; startGroup] KEYWORDS :[font = subsection; inactive; preserveAspect; endGroup] Lift, horizontal and vertical components of velocity, maximum of a function. :[font = section; inactive; Cclosed; preserveAspect; startGroup] TEACHER NOTES :[font = subsection; inactive; preserveAspect; startGroup] ISSUES RELATED TO THE PROBLEM :[font = subsubsection; inactive; preserveAspect; endGroup] Students may wonder how the curve fitting function works in the software package being used. This could provide motivation for an advanced curve fitting project using the method of least squares. :[font = subsection; inactive; preserveAspect; startGroup] Prerequisites :[font = subsubsection; inactive; preserveAspect; endGroup] The student must be familiar with the classical projectile motion problem (i.e. where the only force on the projectile is due to gravity.) :[font = subsection; inactive; preserveAspect; startGroup] Time allotment - time management :[font = subsubsection; inactive; preserveAspect; endGroup] The student should be able to complete the exercise in a one hour period, assuming that they have technology available to aid them in fitting an equation. The only stumbling block might be the decision as to what type of equation to use as the fit for the data representing lift. :[font = subsection; inactive; preserveAspect] Expectations :[font = subsection; inactive; preserveAspect; startGroup] Future payoffs :[font = subsubsection; inactive; preserveAspect] The student will be more aware of not only affects of lift on projectile motion but also of other applications that involve variable interactions commonly ignored in calculus problems. They may get involved in the "what if" aspect of the problem. :[font = subsubsection; inactive; preserveAspect; endGroup] The student will gain more familiarity with data and curve fitting. :[font = subsection; inactive; preserveAspect; startGroup] Extensions :[font = subsubsection; inactive; preserveAspect; endGroup] Have students come up with a method for deciding whose curve offers the best fit. :[font = subsection; inactive; preserveAspect; startGroup] References and Sources :[font = subsubsection; inactive; preserveAspect; endGroup; endGroup] The data supplied for the effects of lift experiment were taken from a graph comparing the launch angle of a golf ball and the range, or horizontal distance. The initial velocity was given as 58 m/sec. The reference for the golf ball info is: P. W. Bearman and J. K. Harvey, Golf Ball Aerodynamics, Selected Reprints of Physics of Sports, pp. 49-59. ;[s] 3:0,0;277,1;299,2;351,-1; 3:1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0; :[font = section; inactive; Cclosed; preserveAspect; startGroup] POSSIBLE SOLUTION(S) :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] The range without lift. :[font = subsubsection; inactive; preserveAspect; startGroup] The data is given in degrees, so we first convert all functions to radians. :[font = input; preserveAspect; endGroup] rad[th_] := t Pi/180; :[font = subsubsection; inactive; preserveAspect; startGroup] Next, we decompose velocity into its horizontal Vx and vertical Vy components recalling that the initial speed was 58 m/sec. :[font = input; preserveAspect; endGroup] Vx = 58 Cos[rad[th]]; Vy = 58 Sin[rad[th]] - 9.8 t; :[font = subsubsection; inactive; preserveAspect; startGroup] Exploiting the lack of air resistance, the time it takes for the ball to hit the ground is twice as long as the time it takes to hit its maximum height. This occurs when the vertical component of velocity is zero. :[font = input; preserveAspect; startGroup] time = 2 ( t /. Flatten[Solve[Vy == 0, t]] ) :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 11.83673469387755*Sin[(Pi*th)/180] ;[o] Pi th 11.8367 Sin[-----] 180 :[font = subsubsection; inactive; preserveAspect; startGroup] Finally, since the horizontal component of velocity Vx is a constant (with respect to time t), we can simply multiply it by the travel time to find the horizontal range of the golf ball. :[font = input; preserveAspect; startGroup] RangeNoLift = Vx time :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 686.5306122448979*Cos[(Pi*th)/180]*Sin[(Pi*th)/180] ;[o] Pi th Pi th 686.531 Cos[-----] Sin[-----] 180 180 :[font = subsubsection; inactive; preserveAspect; startGroup] Here's a graph of the range vs. the launch angle for the classical case of no lift. :[font = input; preserveAspect; startGroup] Plot[RangeNoLift, {th, 0, 90}, AxesLabel -> {"angle [deg]", "range [m]"}] :[font = output; output; inactive; preserveAspect; endGroup; endGroup; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] The range with lift :[font = subsubsection; inactive; preserveAspect; startGroup] First we plot the data. :[font = input; preserveAspect; startGroup] dataLiftPlot = ListPlot[data, PlotStyle -> PointSize[.02], AxesLabel -> {"angle [deg]", "range [m]"}, PlotRange -> {{0, 16}, {0, 200}}] :[font = output; output; inactive; preserveAspect; endGroup; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = subsubsection; inactive; preserveAspect; startGroup] Several functional forms were tested visually, but the following offered the best fit while keeping with our intuition that the curve should pass through the origin. :[font = input; preserveAspect; startGroup] FuncLift = Fit[data, {th^(1/2), th}, th] :[font = output; output; inactive; preserveAspect; endGroup] 70.11627494619363*th^(1/2) - 6.238474322391868*th ;[o] 70.1163 Sqrt[th] - 6.23847 th :[font = input; preserveAspect; startGroup] FuncLiftPlot = Plot[FuncLift, {th, 0, 16}, AxesLabel -> {"angle [deg]", "range [m]"}, PlotRange -> {{0, 16}, {0, 210}}] :[font = output; output; inactive; preserveAspect; endGroup; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = subsubsection; inactive; preserveAspect; startGroup] Here's the function along with the data. :[font = input; preserveAspect; startGroup] Show[dataLiftPlot, FuncLiftPlot, AxesLabel -> {"angle [deg]", "range [m]"}, PlotRange -> {{0, 16}, {0, 200}}] :[font = output; output; inactive; preserveAspect; endGroup; endGroup; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] A comparison :[font = subsubsection; inactive; preserveAspect; startGroup] First, we show two graphs together (with lift and without lift.) The bold curve represents the model for lift, and the thin curve represent the model in the absence of lift. :[font = input; preserveAspect; startGroup] Plot[{FuncLift, RangeNoLift}, {th, 2.5, 15}, PlotStyle -> {AbsoluteThickness[4], AbsoluteThickness[1]}, AxesLabel -> {"angle [deg]", "range [m]"}, PlotRange -> {{0, 16}, {0, 200}}] :[font = output; output; inactive; preserveAspect; endGroup; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = subsubsection; inactive; preserveAspect; startGroup] To quantify the effects of lift, we will study the difference of the two functions. :[font = input; preserveAspect] Diff = FuncLift - RangeNoLift; :[font = input; preserveAspect; startGroup] Plot[Diff, {th, 2.5, 15}, AxesLabel -> {"angle [deg]", "range difference [m]"}] :[font = output; output; inactive; preserveAspect; endGroup; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = subsubsection; inactive; preserveAspect; startGroup] The maximum difference seems to occur at a launch angle of about 4 degrees and the minimum distance occurs at the largest launch of 15 degrees. We can determine the precise launch for which the maximum range distance occurs using calculus. :[font = input; preserveAspect; startGroup] der = D[Diff, th]; FindRoot[der == 0, {th, 4}] :[font = output; output; inactive; preserveAspect; endGroup; endGroup; endGroup; endGroup] {th -> 3.743971769158502} ;[o] {th -> 3.74397} :[font = section; inactive; Cclosed; preserveAspect; startGroup] ISSUES IN SOLUTION :[font = subsection; inactive; preserveAspect] There is no single correct answer for the curve fit, but there certainly are wrong ones. See the following note. :[font = subsection; inactive; preserveAspect; endGroup; endGroup] Some students may choose a nice looking curve, but they should be warned to choose a functional form that makes sense too! For example, a line could be made to fit the data reasonably well, but we know that when the launch angle is zero, the range will be zero too. A linear fit would imply that the range would be positive for a zero launch angle. ^*)