Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Golf ball flight

  1. Mar 17, 2004 #1
    I am currently trying to create a computer simulation of the flight of a golf ball and am having difficulties in calculating the acceleration of the ball.

    The following forces are applied to the ball:

    http://www.3dreal.co.uk/project/phys.jpg [Broken]

    I know how to calculate the forces but am unsure as how to resolve the forces into component form and then calculate the acceleration of the ball?

    Thanks Paul
    Last edited by a moderator: May 1, 2017
  2. jcsd
  3. Mar 17, 2004 #2
    Do you have equations that yield the drag and magnus given a certain velocity? The drawing only illustrates the orientation of the forces relative to the velocity.
  4. Mar 17, 2004 #3


    User Avatar
    Science Advisor

    "Magnus"? What is "magnus"?

    You will need to know the strength (magnitude) of each force as well as its angle with respect to a specific direction. If you can get the angle with respect to the horizontal then it should be simple trigonometry to get horizontal and vertical components.
  5. Mar 17, 2004 #4
    Am calculating the magnus force or uplift force using:

    Fm = (2PI^2 * p * v * r^4 * w) / 2r

    were p = density of air, r = radius, w = angular velocity, v = velocity

    The drag is calculated using:

    Fd = 0.5 * cd * p * area * v^2

    where cd = drag coefficient, area = cross sectional area

    The diagram just shows for a particular position during flight. The magnus force is always perpendiclur to the velocity and the drag always opposes the velocity.

    My problem is resolving the forces into an X and Y component and calcuating the net force. I think I could do this if I knew the angles but I dont think I do. Is there any way to do this without knowing the angles?
  6. Mar 17, 2004 #5
    In your simulation, surely you know the inital angle at which the golf ball is fired into the air, right?

    Let that angle be alpha... in the very first moment of the flight, the drag force is alpha degrees below the X axis, the magnus force is alpha degrees to the left of the Y axis, and the gravitational force is on the Y axis.

    [tex]\Sigma F_x = F_m\sin {\alpha} + F_d\cos {\alpha}[/tex]
    [tex]\Sigma F_y = F_m\cos {\alpha} - F_d\sin {\alpha} - F_g[/tex]

    Now you use Pythagoras to find the net force, and the angle of the force is given by:
    [tex]\tan {\theta} = \frac{\Sigma F_y}{\Sigma F_x}[/tex]

    So you know the momentary acceleration of the ball. Use that to calculate the new velocity of the ball, and you would have the new alpha, and this whole thing would happen all over again.
  7. Mar 17, 2004 #6


    User Avatar

    Staff: Mentor

    No, you have to know the angles. But you should know the first set of angles and be able to calculate the rest [like Chen was saying].

    I assume you are doing some sort of step method here, calculating everything every 1/100 of a second or so. Since you know the launch angle, you have the entire first set of decelerations. Find the resultant and calculate the position after 1/100 of a second assuming all those decelerations are constant (over such a short time period, they are very nearly constant). Now calculate the angle between the first and second positions.

    Are you familiar with http://www.teachers.ash.org.au/mikemath/calcnumnewton/ for numerical solving of equations?
    Last edited by a moderator: Apr 20, 2017
  8. Mar 17, 2004 #7
    Let [tex]\vec{v}[/tex] be the 3-dimensional velocity vector.
    Let [tex]\Delta{t}[/tex] be the time since the last update(frame) of the simulation.
    Let [tex]m[/tex] be the mass of the ball.
    Let [tex]\vec{v}\prime[/tex] be the new updated velocity vector.

    Now [tex]\vec{v}\prime=[/tex][tex]\vec{v} -[/tex]

    [tex](\frac{\vec{v}}{\|\vec{v}\|}\frac{\frac{1}{2}c_{d}\|\vec{v}\|^2\Delta{t}A\rho}{m}) -[/tex]

    [tex](g\vec{k}\Delta{t}) +[/tex]

    [tex](\frac{\vec{v}\times(\vec{k}\times\vec{v})}{\|\vec{v}\times(\vec{k}\times\vec{v})\|} \ \frac{2\pi^2\rho\|\vec{v}\|r^4\omega\Delta{t}}{2rm})[/tex]
    Last edited: Mar 17, 2004
  9. Mar 17, 2004 #8
    Sorry if my post was messy, I was in a rush. I forgot to mention that at some point (namely, immediately after the Y component of the velocity equals zero) your angle alpha will become negative. When this happens [tex]\sin \alpha[/tex] will also be negative, which means both [tex]F_m[/tex] and [tex]F_d[/tex] will too change their signs.
    Last edited: Mar 17, 2004
  10. Mar 17, 2004 #9
    Thanks alot for the help

    Dont no if am being a bit dumb but whats the K vector in Palpatine's equation? and also would I solve this three times once for X, Y, Z coordinates?
    Last edited: Mar 17, 2004
  11. Mar 17, 2004 #10
    k is the unit vector in the z (up direction) <0,0,1>
  12. Mar 17, 2004 #11
    If you have a vector library you only have to do it once and adapt your drawing code or whatever to use the coordinates in the vector object.

    Remember the new position vector is the old one + old velocity vector * (delta t).
  13. Mar 17, 2004 #12
    I'm sorry but I don't understand is how:


    Gives you the direction of the velocity vector. I'm genuinely interested because I only recently picked up vectors in mathematics. :smile:

    Ah wait, is it because:

    [tex]\frac{\vec{v}}{\|\vec{v}\|} = \frac{\|\vec{v}\|\cos \theta}{\|\vec{v}\|} = \cos \theta[/tex]
    Last edited: Mar 17, 2004
  14. Mar 17, 2004 #13
    A vector of length 1 multiplied by a constant is the same as scaling the vector with that amount. Consequently its also the same as making the length of the vector the same as the amount you multiplied it with.

    Thus if you divide a vector by its magnitude ( ||v|| ), it yields a vector of length 1 (unit vector) in the direction in which v is pointing.
  15. Mar 17, 2004 #14
    Also note where it multiplies vectors it means cross product and also that you must do it in the order specified because v x u is not equal to u x v
  16. Mar 17, 2004 #15
    You can also get wind drift as a function of time by using the following equation:

    Drift = wind velocity * sin theta [t - (range/initial velocity)]

    theta is the angle of the crosswind
    range is the horizontal distance the ball has traveled at time t

    Please note that at lower velocities the drag is NOT proportional to the square of velocity. This is done with numerical integration. Wind drift is proportional to wind velocity. Also note that corrections for elevation (msl) of the golf course and temperature are simply a function of the air density. Wind drift is also proportional to air density. I have much more information; if you need it, say so.

    Hope this helps you. -Mike
    Last edited by a moderator: Mar 17, 2004
  17. Mar 17, 2004 #16


    User Avatar
    Science Advisor
    Gold Member

    If you're still interested and nobody's mentioned it yet, the Magnus force, named for the guy who first demonstrated it, shows up whenever you have a spinning object in a fluid. It's similar to normal aerodynamic drag in that it is caused by a pressure difference defined by the shape of the boundary layer of the moving object. The spin deflects the wake so that instead of having a front-to-back pressure difference, the pressure difference will be across the ball. As mentioned, the Magnus force acts at a right angle to the forward motion of the object. It's the explanation for the curve of a curve ball.

    Here's a site with a blurb on it.

    Paul7: In your calculation of the Magnus force, are you assuming a constant &omega; or do you have some model where the spin rate decays? Hope your simulation is up and running...
  18. Mar 18, 2004 #17
    Tried implenting this using Palpatines equation but still cant get it to work right. The ball starts off correct initially then reaches a maximum height and then carries on going up and down in a sin wave like motion and never comes back to the groud.

    I dont know as to whether the angular velocity should be reduced or not. If I just reduce it by a certain amount each time step the flight looks a lot better although the ball does not travel as far as it maybe should.

    Is there any other forces applied to the ball that reduce the angular velocity? maybe I should just reduce it by a constant value or maybe base it on another factor? In both situations the ball also flies a lot higher than it should.

    Once the ball is hit the initial values for the forces are 3N for the magnus and 1.4 for the drag, do these seem ok?

    "Please note that at lower velocities the drag is NOT proportional to the square of velocity"

    Could this be causing a problem. Should I change the equation when the velocity goes below a certain threshold?

    Thanks alot for your help
  19. Mar 18, 2004 #18
    Try this website:

    There are a couple of typos in the charts, but they're pretty obvious so they probably won't give you any problem. This site deals with velocities that are higher than what you need, but it should help you quite a bit. The math for these problems is cumbersome, but this is the method currently in use (numerical integration). The coefficient of aerodynamic drag varies greatly with velocity in high powered rifle bullets especially near mach 1. It won't change anywhere near as much for your golf ball. I said that the drag was not proportional to the square of velocity; it is also not directly proportional to velocity. It lies in between the two.
    www.remington.com[/url] has a 30 day free trial on ballistics software. Also, try [PLAIN]www.eskimo.com/~jbm [Broken] or www.snipercountry.com I've done a lot of shooting, and I have a good working knowledge of the practical application of these concepts. If I can be of any further help to you, let me know.

    Last edited by a moderator: May 1, 2017
  20. Mar 18, 2004 #19
    Ideally I dont particulary want to deal with all sorts of numerical integration. The simulation needs to run in real time so the fewer calculations needed the better. Is there any type of approximations that would produce the required results. It doesnt have to be 100% physically accurate just look as near the the real thing as possible.
  21. Mar 18, 2004 #20
    I'm not an expert on computers or golf. If I knew of an easier way to solve your problem, I would certainly tell you about it. The math isn't difficult, just a little time consuming. -Mike
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook