Approximating Rolling/Sliding in 2D Shape I'm trying to find more information on how a 2D shape (could be defined by a function, such as ellipse, or by a polygon) will roll across a surface. The shape could be nearly circular or quite eccentric which will obviously have a huge impact on how well it rolls.
There is a wealth of information on a rolling circle/sphere/cylinder that is fairly simple but I can't find anything beyond that. Sitting down trying to figure out the dynamics of how a shape will move becomes incredibly complex very quickly even in 2D, let alone in 3D. 
I'm just looking for some reading on the topic and potentially a method for approximating rolling or sliding on a 2D shape. I haven't found much other than a sliding rectangle or a rolling circle though. Any recommended reading or direction on where to look?
 A: Here what I have managed to come up with, give it a look.  I decided that a Lagrangian approach is best, though I think moving to the Hamiltonian would have some advantages also such as conservation of angular momentum and energy being more explicit.  The ellipse' (I worked only in 2D) center of mass can move in the $x$ and $y$ directions and is rotating.  Since there is movement in the $y$ direction, there is a need for gravitational potential energy also.  My Lagrangian looks like
$$
L = \frac{1}{2}M(\dot{x}^2 + \dot{y}^2) + \frac{1}{2}I\dot{\phi}^2 + Mgy
$$
I take the reference height for potential energy to be $a$ above ground, the semi-major axis.  Now there are some serious constraints on this problem, which when combined with this modest Lagrangian make the problem very difficult.  
First off, as much as the ellipse rolls (without sliding) so must it cover that much ground.  In other words, the arc length traced out by rolling equals the distance in the $x$ direction covered, $f_1 = x - a \, E(\phi,k)=0$ with $E$ the "incomplete elliptic integral of the second kind". 
Now motion in the $y$ direction for the center of mass is oscillatory.  This is a constraint on it's motion: $f_2 = y + \frac{(a-b)}{2}(1+\cos(\alpha \dot{\phi}t))=0$, with $\alpha$ some possible numerical factor.
Then the equations of motion are
$$
M\ddot{x} = \lambda_1
$$
$$
M\ddot{y} - Mg = \lambda_2
$$
$$
I\ddot{\phi} = -\lambda_1 a \frac{\partial E(\phi,k)}{\partial \phi} 
$$
Now
$$
\dot{x} = a\frac{\partial E(\phi,k)}{\partial \phi}\dot{\phi} \implies \ddot{x} = a \left( \frac{\partial^2 E(\phi,k)}{\partial \phi^2}\dot{\phi}^2 + \frac{\partial E(\phi,k)}{\partial \phi}\ddot{\phi} \right)
$$
and
$$
\dot{y} = \frac{\alpha(a-b)}{2} \sin(\alpha \dot{\phi}t) \left( \ddot{\phi}t + \dot{\phi}  \right)
$$
so
$$
\ddot{y} = \frac{\alpha (a-b)}{2} \left( \alpha \cos (\alpha \dot{\phi} t) (\dot{\phi} + t \ddot{\phi})^2 + \sin (\alpha \dot{\phi} t)(2\ddot{\phi} + t \dddot{\phi})  \right)
$$
Combining these with the previous equations we get nasty stuff...
$$
M a \left( \frac{\partial^2 E(\phi,k)}{\partial \phi^2}\dot{\phi}^2 + \frac{\partial E(\phi,k)}{\partial \phi}\ddot{\phi} \right) = \lambda_1
$$
$$
\frac{\alpha (a-b)}{2} \left( \alpha \cos (\alpha \dot{\phi} t) (\dot{\phi} + t \ddot{\phi})^2 + \sin (\alpha \dot{\phi} t)(2\ddot{\phi} + t \dddot{\phi})  \right)-g = \frac{\lambda_2}{M}
$$
$$
\ddot{\phi} = -\frac{\lambda_1 a}{I} \frac{\partial E(\phi,k)}{\partial \phi} 
$$
This may or may not be right, but I think it is a step in the right direction at least.  I hope it helps.
A: If the shape is described with polar coordinates such that the radial distance from some center is $R(t)$ and $t$ is the angle from some datum, then you can define the pressure angle $\alpha$ at each location $t$ as
$$ \tan( \alpha) = - \frac{1}{R(t)} \left( \frac{{\rm d}}{{\rm d}t} R(t) \right) $$
The pressure angle will give the direction of the normal relative to the radial direction of each point. With the normal $\hat{n}$ direction vector known, you can formulate the contact condition $$ \hat{n} \cdot \vec{v}_{contact} = 0 $$ where the velocity of the contact point is expressed as a function of the motion of the center and location as $\vec{v}_{contact} = \vec{v}_{center} - \vec{R}(t) \times \vec{\omega} $ and  $\times$ is the vector cross product, $\cdot$ is the dot product.
If you want to check for a no slip condition then you need the direction vector $\hat{e}$ tangent to the contact surface and check that $$\hat{e} \cdot \vec{v}_{contact} - \vec{v}=0$$.
