# Homework Help: Calculating Final Rotation of Spinning Wheel

1. Oct 18, 2014

### Dumbledore

Hello, I am really struggling with calculating the final rotation of a spinning wheel. I am not even sure if my equation for changing the velocity of the spinning wheel given a coefficient of friction is even correct so I will post it here...

change in angular velocity = angular velocity * friction * dT

Every frame I am setting a new angular velocity based on the above equation.
angular velocity = angular velocity - change in angular velocity

So in this universe where the above equation governs a spinning wheel, how would I find the final rotation of the wheel given an initial velocity (V1) and a coefficient of friction (0.185).

My attempt thus far:

Calculate the acceleration of the wheel (which I believe is the "change in angular velocity").

Then use that along with the initial speed and solve for Speed equals 0 (when the wheel finally stops). However, I think the problem I am having is I'm unfamiliar with the mathematics involved when the acceleration is constantly changing at every instant in time. I believe I have non constant acceleration because it depends on the current angular velocity to calculate the change in angular velocity.

Can someone give me a tip?

2. Oct 18, 2014

### Staff: Mentor

That cannot be right--the units don't match.

How about: change in angular velocity = angular acceleration*time ?

3. Oct 18, 2014

### Dumbledore

The equation is like this:
Vnext = Vcurr - (Vcurr * 0.185 * elapsedTimeInSeconds)

Practical examples given initial velocity (V1) at 10, with a dT of 0.5 (every 0.5 seconds, the velocity gets updated)

V2 = 10 - (10 * 0.185 * 0.5) = 9.075

V3 = V2 - (V2 * 0.185 * 0.5) = ??

Etc...

Now I'm just trying to figure out how to calculate when Vx will approach say... 0.005 (because it will never actually reach 0) and when that happens I would like to know what the current rotation of the wheel is.... I'm open to a different equation for updating current angular velocity if it will make this whole thing easier.

4. Oct 18, 2014

### Staff: Mentor

Once again, that equation cannot be correct. Check the units.

5. Oct 18, 2014

### Dumbledore

My understanding is that
0.185 per second
time in seconds

So the seconds cancel each other out. (Cause it is really 0.185/1sec)

That leaves you with a number representing angular velocity in radians which is the radians per second...

I don't know much about math, but I mean, the equation works. The wheel spins and decreases in speed realistically.

6. Oct 18, 2014

### billy_joule

What makes you think the unit for your coefficient of friction is 1/s ? That's generally calls Hertz...a unit of frequency.

7. Oct 18, 2014

### Staff: Mentor

Angular velocity would be in radians per second.

I thought 0.185 was the coefficient of friction? Such a number has no units.

So far, you haven't provided enough information to calculate the torque due to friction or the resulting angular acceleration. Can you present the problem exactly as it was given?

8. Oct 18, 2014

### Dumbledore

Hey guys, I guess I'm even worse than I thought at this stuff :(

So I used coefficient of friction incorrectly. Basically the equation I have there is all the information available. The equation is essentially saying: update my current speed by subtracting my current speed with the acceleration (which is negative) times the time elapsed. My acceleration is -0.185/1sec*currentSpeed/1sec.

Perhaps just give me a better equation to update my current speed given t? Then you can use your working knowledge of the better equation to go ahead and answer the original question.

9. Oct 18, 2014

### Staff: Mentor

Did you post the complete problem exactly as given, word for word? (It sure doesn't look like it.)

Is the number -0.185 the angular acceleration ($\alpha$)? (And not the coefficient of friction!) If so, the units would be rad/sec/sec.

The equation you may be looking for is: $\omega_f = \omega_i + \alpha t$

10. Oct 18, 2014

### A.T.

If the rate of change of a variable depends on the value of the variable you have a differential equation:
http://en.wikipedia.org/wiki/Differential_equation

Some of them cannot be solved analytically, only numerically like you do it with your program (numerical integration). But for your case there is also an analytic solution:
http://en.wikipedia.org/wiki/Exponential_decay

Note that N(t) would be the function for your angual velocity. To get the function for total rotation you need the antiderivative of it.

11. Oct 18, 2014

### Staff: Mentor

I see no obvious reason to treat the acceleration as constantly changing. (But then again, the problem is not clearly stated.)

I think that's because you were using an incorrect equation. No reason to think this is anything other than a constant acceleration problem. (But I'd be happy to be proven wrong.)

12. Oct 19, 2014

### Dumbledore

@A.T. thanks, that was the information I was looking for.

@Doc Al This isn't a homework assignment where there is a "problem" description. I have created this problem by choosing this method of calculating change in angular velocity for a little game I am writing.

I would like to hear more about using a constant acceleration. From my experiments, a constant acceleration does not behave the way real life spinning wheels would behave. I am trying to make the spinning wheel realistically slow down and come to a halt. In your equation, is Wi the initial angular velocity?

13. Oct 19, 2014

### Staff: Mentor

Yes, $\omega_i$ is the initial angular velocity. That equation is a basic kinematic relationship for constant acceleration.

14. Oct 19, 2014

### Dumbledore

I used AT's links there to solve for t, but I am still a little stuck because this seems to be a far more complex problem than I originally realized.

The current rotation is updated with the angular velocity multiplied by dt. However, it is based on framerate. So if the function is called with a mean dt of say 50ms on one device, but on another device with a lower framerate it gets called with a mean dt of 100ms, then the final rotation can actually be quite different.

I really need to be able to compute where the wheel will end up, before it ends there. One way I can do this (but it is unfortunate because it can result in choppiness, is to call the update function on a set interval, rather than tying it to the framerate.

It just seems like I've gone down the wrong path... all this complexity just to figure out how many rotations a wheel will do given an initial velocity and an update function. I feel like I must be an idiot for not being able to come up with a more elegant solution.

Doc Al, AT, or any other critical thinkers out there have anything to pose?