Why the line [1,0,0] I rotate with a bone's world quaternion is not parallel to the bone?

Hi everyone, I am new to babylonjs and 3D modelling. I am trying to build an application so that my 3D human avatar can be driven by data from Kinect V2. Now I am stuck in the middle of the experiment.

The playground example is in Babylon.js Playground

I retrieve the quaternion of the left lower arm bone in world space, use the quaternion to rotate the vector [1,0,0]. I expect in world space, the rotated vector should be parallel to the lower arm. However, the white line seems like does not work as expected.

Can anyone please help to find what could be wrong?

Thank you

Adding @Evgeni_Popov who might be able to help with this ?

You should transform all the 3 axis by the quaternion: you will see it is the Y axis which is in the same direction than the forearm:


1 Like

Thank you Evgeni_Popov, this totally makes sense. This exactly what I am after. :+1: