# Joint Orientation "hierarchical Rotation" matrix giving incorrect orientation for some of the joints

• ### Question

• Hi I am using kinect api "NuiSkeletonCalculateBoneOrientations" to get hierarchical orientation of various joints of skeleton. As per given information start joint contains the Y axis of parent bone along parent bone axis. So I tried to draw all the frame local to respective joints. But results are bit wired for some of the joints. I draw the Y- axis with Blue line, X axis with red and Z with gray,I have attached snapshot of how the results are coming and It can be seen that for left hip ,right hip, spine and for shoulder joints Y axis seems ok but for elbow and wrist It doesn't look cool. The data is correct and method I follow is very simple as follows:

for example if you have to draw y axis local to left knee then I took vector

V[0] = 0

V[1] = 1

v[2] = 0

and multiply this with hierarchical orientation[hip center] then whatever the result came multiply with hierarchical orientation[left hip] and then multiplied with hierarchical orientation[left knee] and then translated the resultant vector to left knee joint. Please tell me if my way is correct. Any help is highly appropriated.

Saturday, October 26, 2013 7:07 PM

• What if you don't apply the chain of matrices for the joints? Keep in mind the bone orientation is already in joint coordinates. For Hierarchical rotation, Y will follow the path that lead to it. ie. for a shoulder, y would be in the direction of the vector from neck to shoulder. See Hierarchical Rotation in the following link:

http://msdn.microsoft.com/en-us/library/hh973073.aspx

Carmine Sirignano - MSFT

Monday, October 28, 2013 5:40 PM

### All replies

• What if you don't apply the chain of matrices for the joints? Keep in mind the bone orientation is already in joint coordinates. For Hierarchical rotation, Y will follow the path that lead to it. ie. for a shoulder, y would be in the direction of the vector from neck to shoulder. See Hierarchical Rotation in the following link:

http://msdn.microsoft.com/en-us/library/hh973073.aspx

Carmine Sirignano - MSFT

Monday, October 28, 2013 5:40 PM
• "Keep in mind the bone orientation is already in joint coordinates. For Hierarchical rotation, Y will follow the path that lead to it"

yes , I believe , to verify that only we need chain multiplication. Along with that it also gives us the angel among parent child joints.

Anyway I got the solution. Now I am getting what I had too.

Thanks

Monday, November 18, 2013 10:09 AM