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

Calculations for flying ball

  1. Dec 19, 2009 #1
    So there it is me trying to program some simple physics for flying ball. I have done some research and generally I was always understanding physics very well. But what is happening in my application is not understandable for me, even tho I have checked everything twice and I think everything should have worked good.

    So my physics is very simple, only gravity and air resistance, no spinning of ball etc.
    My ball has few attributes, which are:
    -position(in meters, I also assume that one 1px==1m),
    -mass(in kg),
    -radius(in meters),
    -speed, which is basically a vector with direction and value (in m/s).
    In physics engine I assume g=9.81 [m/s^2] and air density of q=1.2041 [kg/m^3].
    Now thats how I calculate where to move the ball:
    (1)I move the ball according to its actual speed vector.
    (2)I calculate forces on the ball:
    1. gravity: Q= g*m [thats a vector always directed downwards]
    2. air resistance: F= (0.47*q*A*v^2)/2 where:
      • F is air resistance [N]
      • 0.47 is drag coefficient for the ball (found on wiki)
      • q is density of air
      • A is the cross-sectional area of the ball
      • v is speed of the ball
      • the air resistance is always directed opposite to actual speed
    3. total force (Ft) on the ball by adding both vectors for Q and F
    (3)Now I can calculate acceleration of the ball by simply deviding Ft by mass of the ball (a=Ft/m) and I keep a as a vector(just like speed) with value calculated and appropriate direction calculated (I have checked it and the direction of a is calculated correctly).
    (4)I update the speed of the ball V1=V+a*t (time was 1 sec, but i still multiply it by time in case I want to change time intervals). I do that by simply adding 2 vectors (V and a) together.

    My problem is: I tested it on a ball with:
    -some start position with doesnt matter here
    -mass of 0.2 [kg],
    -radius of 0.01 [m],
    -start speed of 200 [m/s] 45% upwards

    Now the ball fly and it looks good. But when I change just the mass to lets say 0.6kg the ball actually fly further, like much further... Despite the fact that air density and gravity seems to be bigger.

    Am I calculating something wrong? Or is that how it supposed to be?
    Thanks for your help.
  2. jcsd
  3. Dec 19, 2009 #2
    I’m not sure I understand your arrangement. I assume you are launching a ball horizontally some distance above the ground. You have a computer program that calculates the position of the ball for various times until the ball hits the ground. You ran your program for a mass of .2 kg and .6 kg. The .6kg mass went further horizontally before hitting the ground.

    If that is the case, the result seems right to me.

    My reasons are as follows…..

    With regard to gravity: The .6kg mass will feel a force 3 times as large as the .2kg mass. But it is 3 times the mass. So the acceleration will be the same. That means both masses take the same amount of time to hit the ground.

    With regard to air resistance: The force is proportional to the cross sectional area of the ball (F = kA). The acceleration is proportional to the force and inversely proportional to the mass (a = F/m = kA/m). The bigger ball is triple the mass but only double the cross sectional area. So, the horizontal acceleration of the bigger ball is 2/3 that of the smaller ball. The result will be that the bigger ball travels further (horizontally) before hitting the ground.

    Make sense?

    Oops. I just noticed that you launch you ball upwards, not horizontally. My explanation still applies. Hope I have not confused you.
    Last edited: Dec 19, 2009
  4. Dec 19, 2009 #3
    I agree with the poster above.
    If you change only the mass, the sphere will go much further. The air resistance will be the same as it doesn't depend on mass. The effect of the air resistance will be less because the force it exerts is acting on a larger mass. This results in a lower resistive component of the total acceleration.
  5. Dec 19, 2009 #4


    Staff: Mentor

    Try throwing a ping pong ball and a golf ball. The more massive one goes further.
  6. Dec 19, 2009 #5
    Are you familiar with the ballistic coefficient of an object? It's just mass divided by drag coefficient times cross-sectional area, and it's a good measure of how the object will respond to drag forces.

    In your example, you've kept everything fixed except that you've increased the ball's ballistic coefficient (by increasing its mass), so it travels farther, as it should.
  7. Dec 19, 2009 #6
    Thanks all for explanation! That was the part that I did not understand well despite the fact that I did research (probably not good enough). Thanks again, now I know what I am doing and that my physics works fine...
    Happy xmas!
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook