3D Rotation(and Align) about an arbitrary axis
we need several steps to do this job.
1. translate to origin
2. rotate Z
3. rotate Y
Z-Axis Rotation
x’ = x*cos q – y*sin q
y’ = x*sin q + y*cos q
z’ = z
X-Axis Rotation
y’ = y*cos q – z*sin q
z’ = y*sin q + z*cos q
x’ = x
Y-Axis Rotation
z’ = z*cos q – x*sin q
x’ = z*sin q + x*cos q
y’ = y

And how do you get x and y lengths for your calculation of rotation angles?
I just did some testing in Matlab and this is great. I’m using the above method for rigid registration of a N-shaped fiducial between a CT image and stereoscopic camera in the use of an image guided intervention.
I’m pretty new to the subject and getting a grips on the mathematics has been a challenge.
Thanks!