I am a maths person and definitely not a physics person, so maybe this is taught somewhere and I haven't learned it. I am trying to understand and figure out how to simulate rolling an object on a flat horizontal surface. In the case of rolling a circle, I understand that fine, it's essentially translating (moving) the circle horizontally while rotating the perimeter such that after one cycle of the parameter, the circle translates by the perimeter (length) of the circle. However, I am thinking about how this can be derived or generalised to e.g. ellipses and other stuff. I thought about another perspective which is a polygon, where you essentially rotate the entire shape around the rightmost contact point with the ground until there's a second contact point, then you repeat this process. However, it doesn't really work with round objects since there's only one contact point at a time. I suppose the derivation process for the circle equations would then be to imagine the circle having two infinitesimally closed contact points and do the rotating process, but if someone can explain it better it would be great. For example, what would the (differential?) equations be for the ellipse that starts at $(x_0, y_0) = (2\cos\theta, 1 + \sin\theta)$ where $\theta \in [0, 2\pi]$ and rolling the ellipse (to the right) on $y = 0$? Thanks!
(Also, the "speed" of the object doesn't really matter, I don't care about that part, just "where will the ellipse be if e.g. the center of the ellipse is at $x = 100$)