Sliding/rolling billiard balls

I have got a bit stuck on some basic principles to do with the motion of a billiard ball, and was hoping someone could point me in the right direction! Assuming I have the linear velocity and angular velocity of a uniform billiard ball (with the centre of mass exactly in the middle), how do I go about calculating its position 'x' millisecs in the future? I have tried reading several sources, but keep getting confused :grumpy: .

For example, http://archive.ncsa.uiuc.edu/Classes/MATH198/townsend/math.html, this website discusses how the linear velocity and angular velocity change over time. However the angular velocity does not seem to be affecting the motion of the ball in the equations outlined. Is this because the way that angular velocity affects the motion of a ball (on a surface with friction, with gravity) is elementary so just not discussed?

So confused! Can a rolling ball's path take a curved trajectory (assuming its on a perfectly level surface) due to angular velocity? Or if the ball is rolling does that mean the angular velocity and linear velocity are in sync at that point, so will then only travel in a straight line, slowing gradually due to friction with the surface?

Sorry if I have butchered some of the terms above, but if any one could take the time to guide me in the right direction of understanding this topic I would be hugely thankful.

I don't know any math, and the physics is a lot trickier than you'd expect. I do, however, know a lot about pool.
To start with, the only way that you get normal rolling motion on a ball is if you play gentle topspin on it. In any other kind of shot, the ball slides in the direction that it's aimed before the spin takes effect. With suction, for instance, the ball is rotating backwards throughout the entire shot while sliding forward. When it hits something, the backspin gets some traction and it reverses.
A masse shot, which curves, is very easy on a small scale. All you have to do is play severe bottom/side on it. The amount of bottom determines where along the trajectory it starts to curve, and the amount of side determines the radius of the curvature. Only for very acute angles do you have to come down on the ball to get enough reverse spin.
A vertically centred shot with side spin travels straight, but reacts differently upon impact.

here's an article that talks about the pphysics of pool:http://www.gamasutra.com/features/20020118/vandenhuevel_01.htm
(you might have to register to read it)
Writing an equation that gives you the position and rotation of the ball after time t from any position is increadably hard. usually you write a program that solves this sort of thing by numerical methods. post a reply if you want me how to explain how to do that.

daniel_i_l: As it happens I was just reading that very article, unfortunately it only covers linear velocity, and ignores any of the rotational aspect of the balls.

I am a C++ programmer learning to use the DirectX api's, so it is purely from a programming perspective. The framework is already in place where by the cue ball can be struck, and the correct linear and angular velocities are calculated at that instants. Its just how the ball should move between each discrete time step (dt - in milliseconds) which I'm currently stuck on. If you don't mind, any help on how the math behind this problem would be brillant. More the better :D!

Probably the most irritating aspect of this problem is the type of surface. I've never seen any two tables with exactly the same characteristics. Spin might have next to no effect on an old bar table that's had drinks spilled on it, while 'mercury felt' can make a bottom-shot try to climb back up your stick.
I just noticed something. Since this is a science site, I shouldn't have used the term 'acute' in reference to the angle in the first post. It has a specific meaning that I didn't intend to express. What I referred to is a large amount of curvature.