I'm working on a graphic simulation (just for fun, for an open-source screensaver) of an Aerotrim - a "human gyroscope", one of those exercise/training machines with a human in the middle, perched on a ring that swivels on an axis with respect to another ring, which swivels on an axis perpendicular to the first axis, on another ring. (AFAICT there could be 2 or 3 such axes that turn, each at right angles to the next. If I can simulate 2 axes / 3 rings, that would be sufficient. A general solution for n rings would be lovely. :-)
Simulating the thing turning, with each axis rotating at a constant rate, is no problem. But it would "feel" more real if I could apply some realistic acceleration from the interaction between the rings and the mass of the rider.
In the Youtube videos, you sometimes see a bystander push on one of the rings, to help get the rider going. Not only does that ring accelerate, but others start spinning too. And the pushed ring does not accelerate smoothly, but undergoes resistance from the other rings, apparently transferring acceleration to them.
I am not up on angular momentum, torque, and all that, so answers will need to take my ignorance into account, though I'm obviously willing to learn a few things as necessary.
I don't feel like it's necessary to take into account the asymmetry of the person's mass - modeling the person as a point mass in the center of the rings should be fine, I think. In other words I don't plan on modeling the way that the rider accelerates the rings by leaning one way or another.
I was thinking that in order to make things a little more interesting, I would have the program occasionally apply a force like a hand pushing on one of the rings. I can figure out what the torque on that ring would be if it were independent of the others, but I don't know to model a set of 3 rings connected on axes.
Any thoughts on how I could model the interaction between the rings, each affecting the others? Simplifications are fine. My intent is not to discover new phenomena through accurate physical modeling, but to create a visual display that looks more realistic than just rings turning at constant rates.
P.S. Part of my uncertainty is, how much does the Aerotrim really behave like a gyroscope? The gyroscope's main properties are focused on the mass in the middle spinning fast on its axis, and therefore its axis tends not to move. This is obviously different from the aerotrim, where the person is often not rotating much around the inner axis, and the inner axis is certainly not staying still. I wonder if other factors, like the conservation of angular momentum of the outer rings, plays more of a part in the Aerotrim that is negligible with gyroscopes.
If it is essentially just a gyroscope... I've looked at the "fundamental equation" at http://en.wikipedia.org/wiki/Gyroscope#Properties, but as a non-physicist I find it difficult to imagine how to turn that into code computing what happens when a force is applied. Pointers to example code for simulation of gyroscopes would be appreciated.