Question to make you think

This is a discussion on Question to make you think within the A Brief History of Cprogramming.com forums, part of the Community Boards category; This isn't a homework question or anything. Actually, it's a math related question that I've had to think about in ...

  1. #1
    Registered User
    Join Date
    Mar 2003
    Posts
    580

    Question to make you think

    This isn't a homework question or anything. Actually, it's a math related question that I've had to think about in the implementation of a physics program I'm perpentually trying to get to work in a realistic manner.

    Now, I already know the 'correct' answer, but it took me a couple of days before I was like "oh, DUH" and then I kicked my cat*.

    I'll post the correct answer if nobody can get it.

    So here's the scenario:

    A sphere (mathematically perfect sphere) is moving across a plane (a mathematically perfect horizontal plane). Lets just say we know the force of friction at any instant (the actual numbers don't matter), we know its linear and angular velocity at any instant, etc. How long does it take for the sphere to lose all of its kinetic energy (comes to a complete stop)?


    I'm hoping that there aren't going to be any smart asses that are going to have an answer in like five minutes after I hit 'submit', in fact I'm kind of hoping you guys won't know otherwise I'm just kind of going to feel stupid.



    * i didn't REALLY kick my cat, but i wanted to

  2. #2
    Mayor of Awesometown Govtcheez's Avatar
    Join Date
    Aug 2001
    Location
    MI
    Posts
    8,825
    Is the sphere accelerating? If it's a constant velocity it's a simple question of how much the friction is making it decelerate. If it's accelerating then it's just a question of interacting forces.

  3. #3
    Registered User
    Join Date
    Mar 2003
    Posts
    580
    The only forces on the sphere is the force of the ground pushing up and the force of friction.

    And, it's not friction that brings it to a rest Remember, this is a *mathematically perfect sphere* (as it would have to be in a computer program). That's what makes the problem difficult. And that's why I wanted to kick my cat.

  4. #4
    Registered User
    Join Date
    Mar 2003
    Posts
    580
    arg, I guess we don't have any other takers (i.e anyone that cares). I guess I will just give the answer:

    it never comes to rest!!! I can prove this too for anyone that cares, but, well you know how that goes

    The reason you see 'spheres' come to rest is that the surface and the object itself deforms in front of the path of the ball, such that the force pushing it upward actually induces a spin in the opposite direction that friction makes it spin, and this basically 'bleeds' off the kinetic energy and eventually makes it stop. But, when you have a mathematical sphere, there is no such thing as surface deformation until you program it that way.

  5. #5
    Mayor of Awesometown Govtcheez's Avatar
    Join Date
    Aug 2001
    Location
    MI
    Posts
    8,825
    > arg, I guess we don't have any other takers (i.e anyone that cares)

    I was cooking

    I don't see how a sphere has no coefficient of friction, even if it is perfect, unless you meant only friction with the ground, which is silly, since there'll be air resistance. If it's in a vacuum, it's an easy question, yeah.

  6. #6
    Registered User
    Join Date
    Mar 2003
    Posts
    580
    You are definitely right about the air resistance thing, and sorry if i rushed it a bit. However, the key here is that the sphere *does* have friction acting on it, but friction doesn't bring the sphere to a stop!

    The kinetic energy oscillates back and forth between rotational and linear kinetic energy. For a while, friction pushes in the opposite direction of the linear motion of the sphere. But, the problem is that it also increases the rotational velocity of the sphere. Eventually, the velocity of the point on the sphere making contact with the ground reverses. When this happens, friction pushes in the opposite direction which takes away from the rotational kinetic energy of the sphere, but *increases the linear kinetic energy back in the same direction the sphere originally started moving in*

    and as I said before, the reason you don't see this in real life is because, like you said, air resistance stops objects, but also because the surface deforms in front of the sphere, and there's not actually any such thing as a mathematically perfect sphere anyway...all of these factors are what actually bring the sphere to rest.


    I dunno, most people are having dreams about girls and sports cars, here I am thinking about spheres rolling on planes

  7. #7
    Mayor of Awesometown Govtcheez's Avatar
    Join Date
    Aug 2001
    Location
    MI
    Posts
    8,825
    I'm gonna need some sort of a proof or something. I suck at physics without math.

  8. #8
    VA National Guard The Brain's Avatar
    Join Date
    May 2004
    Location
    Manassas, VA USA
    Posts
    903
    who needs a woman when you have a sphere.
    • "Problem Solving C++, The Object of Programming" -Walter Savitch
    • "Data Structures and Other Objects using C++" -Walter Savitch
    • "Assembly Language for Intel-Based Computers" -Kip Irvine
    • "Programming Windows, 5th edition" -Charles Petzold
    • "Visual C++ MFC Programming by Example" -John E. Swanke
    • "Network Programming Windows" -Jones/Ohlund
    • "Sams Teach Yourself Game Programming in 24 Hours" -Michael Morrison
    • "Mathmatics for 3D Game Programming & Computer Graphics" -Eric Lengyel

  9. #9
    The Earth is not flat. Clyde's Avatar
    Join Date
    Mar 2002
    Posts
    1,420
    arg, I guess we don't have any other takers (i.e anyone that cares). I guess I will just give the answer:
    Interestingly a very similar answer is correct for the length of time required for a perfect cube (lying face down) to come to rest when sliding across a perfect plane.

    (Though from the physics point of view its a bit fishy talking about resistance and homogenious perfect surfaces in the first place)
    Entia non sunt multiplicanda praeter necessitatem

  10. #10
    The Earth is not flat. Clyde's Avatar
    Join Date
    Mar 2002
    Posts
    1,420
    You are definitely right about the air resistance thing, and sorry if i rushed it a bit. However, the key here is that the sphere *does* have friction acting on it, but friction doesn't bring the sphere to a stop!
    If its a perfect sphere then surely the area of contact is infinitely small, so where is the friction coming from?
    Entia non sunt multiplicanda praeter necessitatem

  11. #11
    UT2004 Addict Kleid-0's Avatar
    Join Date
    Dec 2004
    Posts
    656
    Quote Originally Posted by The Brain
    who needs a woman when you have a sphere.
    You mean 2 spheres?

  12. #12
    Rad gcn_zelda's Avatar
    Join Date
    Mar 2003
    Posts
    942
    Quote Originally Posted by Clyde
    If its a perfect sphere then surely the area of contact is infinitely small, so where is the friction coming from?
    It must be infinitely small friction.

  13. #13
    Registered User
    Join Date
    Mar 2003
    Posts
    580

    Post

    EDIT:
    Okay I am done checking. I am pretty sure I am going to go insane. If you guys don't actually read it, it's cool, but don't argue with me unless you do

    Sweet, I like proofs

    The sphere is rolling along an incline such that static friction is working on it. Static friction means that the relative velocity at the point of contact is zero. This might seem like a contradiction, but it's correct. The reason it is correct is because the point where the sphere touches the ground has two sources that contribute to its total velocity at any instant: the contribution from the linear velocity of the sphere, and the contribution of the angular velocity of the sphere. The magnitude of the angular contribution is the magnitude of the angular velocity (in radians) times the radius of the sphere. The direction it points is exactly opposite that of linear velocity. How do I know this? I know this because it is static friction, which, as defined, means that the contact point velocity is zero (otherwise it would be slipping, and it is kinetic friction).

    So, what I have so far:

    Friction = static friction

    LinearVelocity + (AngularVelocity * Radius) = 0 (because there is no slipping)

    (AngularVelocity * Radius) = -LinearVelocity


    So, now I need to show that it never loses kinetic energy. I am going to show that for every decrease in linear kinetic energy the angular kinetic energy gains exactly that amount.

    Linear kinetic energy is 1/2mv^2, which arises from force times displacement (or, to be more technically, the dotproduct between the force and the displacement, because there is such a thing as negative work, which is what is technically being done whenever the force and the displacement don't act in the same direction).

    We have an average force acting on the sphere for a given displacement of the center of gravity of the object. Note that to be super technically the friction force may oscillate, but it always results in an average equivalent force which represents the same thing. So, the ball starts rolling forward with the initial kinetic energy you give it when you push it.

    InitialKE

    Then over some time duration the center of gravity of the ball displaces some distance

    Distance

    with an average friction force

    FrictionForce

    The magnitude of the change of the linear kinetic energy of the ball is:

    FrictionForce * Distance (at first this is negative because the linear kinetic energy decreases)

    Now, to angular kinetic energy. The angular kinetic energy is 1/2 I * W ^2 where I is the moment of inertia (we don't care about it) and W is the angular velocity, which is equivalent to a Torque times the Angle it passes through while the torque is applied.

    And, basically, here is what actually proves that I am right:
    Torque * Angle = Force * Distance

    because

    Torque = Force * Perpendicular distance (from center)
    Force = FrictionForce
    Perpendicular distance from center = Radius
    Torque = FrictionForce * Radius

    Angle = Distance / Radius

    (FrictionForce * Radius) * (Distance / Radius) is the angular work being done on the object, radius cancels, so you get:

    FrictionForce * Distance = FrictionForce * Distance

    Which is the same as saying:
    |AngularWorkDone| = |LinearWorkDone|

    the magnitude of the angular work being done is equal to the magnitude of the linear work being done.

    But, because of what I showed above:

    (AngularVelocity * Radius) = -LinearVelocity

    So, the friction force is always doing positive work on one, and negative work on the other. This makes sense, because when you push a ball 'forward', it moves forward, but spins 'backward'. Subsequently, friction never makes it lose all of its kinetic energy...what brings it to rest is outside forces (i.e the fact that real spheres don't only touch at one point, the fact that real horizontal planes aren't perfectly flat or perfectly horizontal, air resistance, the expansion of the universe, my god damn cat, etc).

    Okay, i just need to stop drinking coffee.
    Last edited by Darkness; 01-05-2005 at 07:05 PM.

  14. #14
    Registered User
    Join Date
    Mar 2003
    Posts
    580
    Interestingly a very similar answer is correct for the length of time required for a perfect cube (lying face down) to come to rest when sliding across a perfect plane.
    It's because real cubes touch at multiple points, and the torque induces from the normal force at each contact point opposing each other. in the strictest sense, real spheres are more like the cube


    (Though from the physics point of view its a bit fishy talking about resistance and homogenious perfect surfaces in the first place)
    it's because, it's a computer program


    If its a perfect sphere then surely the area of contact is infinitely small, so where is the friction coming from?
    The fact that it's a computer program.

    One of the constraints i had on this computer program was tha tobjects don't penetrate. But, one of the solutions I thought of for handlign this was to let the sphere penetrate the surface just a little bit, such that the point of contact is not just a point, but rather the cross section area of where the plane intersects the sphere


    And, I had a similar question from the get go from one of my physics professors. The friction force is the integral of pressure over an area. In physics simulation programs, you have to take the limit of everything, i.e when spheres collide, you do an 'impulse' which is an instantaneous change in momentum (the time derivative of force). In real life, when impulses occur, they don't really happen instantaneously...large, but bounded forces act over an insanely short period of time (3-20 ms for a ball hitting a baseball bat). In a computer program, there's no real way to know these types of things so you take the limit. Similarly, don't think that the contact area is *really* zero, it's the limit as it *approaches* zero!

    Physics simulations are crap because you have to make about 80bazillion assumptions. but it's sweet when it works
    Last edited by Darkness; 01-05-2005 at 06:59 PM.

  15. #15
    Toaster Zach L.'s Avatar
    Join Date
    Aug 2001
    Posts
    2,686
    Well, from a more physical point of view, if you had the cube sliding over the plane, and the cube was too 'perfect', then you'd still have friction, it just wouldn't behave in any way near that approximated by the F=mu*N equation (it might cold weld, for example).

    *edit*
    And yeah, I realize that this is tangential to the statement that this is a computer program, not a real physical system.

    Of course, on the computer, it might slow down... Or even speed up. (Truncation/rounding error.)
    Last edited by Zach L.; 01-05-2005 at 07:12 PM.
    The word rap as it applies to music is the result of a peculiar phonological rule which has stripped the word of its initial voiceless velar stop.

Page 1 of 2 12 LastLast
Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Exam Question - Possible Mistake?
    By Richie T in forum C++ Programming
    Replies: 15
    Last Post: 05-08-2006, 04:44 PM
  2. I need help to compile this code...
    By wise_ron in forum C Programming
    Replies: 17
    Last Post: 05-07-2006, 01:22 PM
  3. Question about binary trees and files
    By satory in forum C Programming
    Replies: 9
    Last Post: 03-06-2006, 06:28 AM
  4. a question that will make you think
    By DavidP in forum Game Programming
    Replies: 5
    Last Post: 11-18-2003, 05:19 PM
  5. Question about atheists
    By gcn_zelda in forum A Brief History of Cprogramming.com
    Replies: 160
    Last Post: 08-11-2003, 12:50 PM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21