I'm not familiar with different motion capture file formats and exactly what they contain, but I have done some work on animating skeletons of life forms so here's my take on it.
When you draw something using a skeleton to animate it, you start with a "root" bone which will obviously have a position as can be seen in this example walk.asf file:
order TX TY TZ RZ RY RX
position 0.0 0.0 0.0
orientation 0.0 0.0 0.0
bonedata section defines all the bones:
direction 0.000000 1.000000 0.000000
axis 0.00000 0.00000 0.00000 XYZ
dof rx ry rz
limits (-180.0 180.0)
# other bone definitions follow
There is then a hierarchy of bones starting from this root bone:
hips hips1 hips2 hips3
chest chest1 chest2 chest3
(by the way, this is the kind of information I asked for in my comments and that you should have provided for a clearer question.)
Each "child" bone is connected to the endpoint of its parent and it defines its own orientation relative to that parent. This picture helps (taken from Autodesk Motionbuilder's doc)
To position any given bone, you need to go up the bone hierarchy to the root bone and combine all their transformation matrices together. For example, to position bone
chest, the following sequence is used:
root -> hips -> hips1 -> chest. Each of these bones has its own transformation (rotation, stretch) based on the motion capture data which affects the position of its children. The
root bone is a special case that has no parents and represents the position and orientation of the whole model.
Motion capture data cannot contain only bone positions because rotation in the axis of the bone cannot be expressed otherwise. Finally, it makes more sense to have motion capture data in terms of rotation and stretch because these values can be interpolated more easily than position and it's what is used anyway to render the skeleton.