# How to know the time a disc takes to stop from rotating and the numbers of revolutions

Assuming I rotate a disk, I want to know how long it takes to completely stop, and the number of revolutions it made since I removed my fingers off the disk.

Lets say a DVD I rotate with my fingers. I only know the radians per second (velocity) of the last moment I touched the disc.

Can you guys tell me where to start?

Im trying to implement this on an iPhone app. So it would be nice if you mention equations. It should not be exact.

-
Hi Jose - I'm putting the homework tag on this because it sounds like a homework-type question, but could you confirm whether it is or not? What's the context of this question? – David Z Aug 3 '11 at 22:00
It is not homework. Im trying to implement a simulation of what I mentioned on the question into an iOS app (iPhone, iPod Touch, iPad application). – Jose Garcia Aug 3 '11 at 22:05
Should the iPhone measure the rotation of a real disk or do you want to display something that kind of resembles a disk? – whoplisp Aug 3 '11 at 22:13
User is going to rotate with his fingers a object (could be a bottle of Coke, a dvd, a vynil, etc...) and I want it rotate and decelerate on a "natural" way. – Jose Garcia Aug 3 '11 at 22:16

Lets say the disk originally rotated with angular frequency $\omega_0$ in Hz.

Then due to friction you will have $\omega(t)=\omega_0-d t$. Where $d$ is the deceleration in Hz/s and $t$ is the time in seconds. Note that the disk won't start turning in the opposite direction $\omega(t)>0$.

Then you get a rotation angle $\alpha(t)$: $$\alpha(t)=\int_0^t \omega(t')\textrm{d}t'= \omega_0t - dt^2/2$$

(let ((omega0 50)
(d .2)
(start 0)
(old-alpha 0))
(defun start-turning (omega)
(setf omega0 omega
start (get-internal-real-time)))
(defun draw ()