When animations are organized as a tree, such that child shapes inherit rotations and translations from parent shapes, is there a common strategy for inheriting rotations?
Consider an arm that can rotate about the shoulder, elbow, and wrist. Each segment of the arm inherits some rotation from the segment above it and each segment might also have some independent rotation. It seems that the order of steps to determine the position of the hand is this:
1) Position the hand as though the wrist is at the origin and perform any rotation about the wrist that applies only to the hand.
2) Position the resulting hand as though the wrist is attached to the forearm, position the elbow at the origin, and perform any rotation about the elbow that applies only to the forearm.
3) Position the resulting hand as though the elbow is attached to the upper arm, position the shoulder at the origin, and perform any rotation about the shoulder that applies only to the upper arm.
4) Translate the resulting hand relative to the actual position of the shoulder.
Is there a more efficient strategy? If not, what is the best way to implement this in a tree?