I'm designing a user interface for the web, and it has a physics component. I'm no physicist, but I've got some way towards specifying the problem. Hopefully, someone can help me fully understand it. Here's the scenario. A piece of paper is on the table at a specific location and rotation. You place your finger on any point on the paper's surface, then move your finger across the table to a second point. The paper moves with your finger, coming to rest at a new location and rotation. The problem: given the starting location and rotation, plus the start and end points of your finger, how do we completely determine the movement of the paper? (Is the problem completely specified so that there is an answer?) My intention is that this scenario, simulated on screen, will be the basis of a naturalistic user interface in which one can translate *and* rotate 2D objects using *only* click-and-drag. I've made prototypes which are not physically accurate, but I'm not satisfied. I've partially thought it through; I think that: * The state of the shape can be specified as velocity and angular velocity around a point, with a simulation of friction bringing it to a stop. * The acceleration imparted by the finger must be broken into two components: toward the center of mass, and perpendicular to it. I don't think this is the full story though. I need to ensure that the shape is always "pinned" at the finger. E.g., I move the paper across the table, then stop but keep my finger there: all velocity the paper has is converted to rotation about the finger. A further problem is that I don't understand how acceleration/velocity is converted to angular velocity under this constraint. Can someone help me out or point in the right direction?