How to do Trammel Of Archimedes Animation? How does one make a Trammel Of Archimedes?


  Trammel of Archimedes
  
  A trammel of Archimedes is a mechanism that generates the shape of an
  ellipse. It consists of two shuttles which are confined ("trammelled")
  to perpendicular channels or rails and a rod which is attached to the
  shuttles by pivots at fixed positions along the rod. 
  
  As the shuttles move back and forth, each along its channel, the end
  of the rod moves in an elliptical path. The semi-axes a and b of the
  ellipse have lengths equal to the distances from the end of the rod to
  each of the two pivots.
  
  


How does one do a looping animation like this?
Animate both "shuttles" moving on different axis by keyframing their X and and Y positions in sync. Start at say $X=-1$ at frame $0$ then $X=1$ at frame $30$, and back at $X=-1$ at frame $60$, repeat for Y axis for the other shuttle.

In the Curve Editor move their animation curve keyframes so that they are offset by "half a cycle". That is if one apexes every $x$ frames, the other one should apex at frames $x+1.5x$.



Add a Cycles modifier to both curves so they repeat indefinitely.



Create a "bar" object, move it so that it's origin it is exactly coinciding with one the shuttles, then parent the bar to that shuttle with Ctrl + P.

Add a Track to Constraint pointing to the other shuttle, adjusting the axis settings as necessary.



As mentioned by Robin Betts, for a mathematically perfect animation the f-curve should be a perfect sine wave. Use a Built-in Function f-curve modifier instead of manually keyframing the shuttels and using the Cycles modifier.

Set it to a Sine function, so the shuttles have mathematically correct motion relative to each other. With the previously described technique you will notice a wobble between the second bar hole and the corresponding shuttle caused by the manually keyframed animation.