Skeletal Man
Success! I added a coordinate system to the skeletal man
Now, each joint calculates its coordinates relative to the base joint in the constructor. Angles can be changed by Setting them directly or with the time delay actions; reguardless, call UpdateCoords on the base joint which will force all of the affected joints to update themselves.
It's important to note that the coordinate calculation is done entirely on the GPU. I don't think there's any way that this would be less efficient than using the CPU. Even if there isn't hardware acceleration, OpenGL certainly has more efficient matrix multiplication algorithms than I could design.
With that said, I am doing a fair amount of confusing manipulations of the MODELVIEW matrix, that's the one that represents the drawing space. Most recursive actions that calculate coords trace back to the BaseJoint where the MODELVIEW matrix is pushed and set to the Identity. That's why there are Pop's that don't seem to match anything in two or three places.
Right now, I'm just drawing another stick man with a very different system.
Next week, I might do a collision system, put a mesh on the guy, or put more interface to work with the new coordinate system. For instance, there needs to be a way to get the coords of specific joints; I might want there to be a way to get the entire tree of joints and coords, as long as there's a way to display the skeleton without altering the class itself, currently, there is no way to do that.

Controls:
movement - same as usual
i - increments time
r - resets time