Helical angles represent the angle-axis parameters for the rotation. The axis of rotation (in global "origin" coordinates) is a unit vector. Each component of this unit vector is multiplied by the amount of rotation. The result is the three helical angles.

To get the rotation matrix from femur to pelvis, do the following steps:
  • convert the Femur helical angles to the Femur rotation matrix Rfemur
  • convert the Pelvis helical angles to the Pelvis rotation matrix Rpelvis
  • the Femur to Pelvis rotation matrix is now: inv(Rfemur)*Rpelvis


Watch out how the rotation matrices are defined. I always define Rfemur as the matrix that transforms local femur coordinates into global coordinates. This is the most common definition, but you sometimes see the opposite.

For the conversion from angle-axis into rotation matrix, see: http://www.euclideanspace.com/maths/...angleToMatrix/

This uses the 4 variables angle, x, y, z. From your 3 helical angles (theta), you can calculate these as follows:

angle = norm(theta) (or angle = sqrt(theta(1)^2 + theta(2)^2 + theta(3)^2)
x = theta(1)/angle
y = theta(2)/angle
z = theta(3)/angle

Ton van den Bogert