[Math] Finding the Euler angle/axis from a 2 axes rotation but that lies on the original 2 axes’ plane

3dquaternionsrotations

If I rotate the XY plane about the y-axis by an angle ψ and then intrinsically rotate it about the new plane's x-axis by an angle φ, the axis created by the intersection of the original XY plane and the final plane will be a Euler axis/angle.
What are the formulae to obtain the axis angle (relative to the x or y axis) and the angle of rotation?

This question has it's roots in a machining problem I have where the parts can only be rotated on a single axis and the design has 2 rotations.

I have tried several different solutions given both here and on Wikipedia using Euler and Rodrigues rotation formulae but they all place the rotation axis in 3D space. I need it to lie on the XY plane but I can't work out how to zero out the z-axis component.

Best Answer

Okay I have worked it out intuitively but it may well be a long way round of arriving at the solution.

If you use the rotation formulae found in Wikipedia at https://en.wikipedia.org/wiki/Rotation_formalisms_in_three_dimensions#Rotation_matrix_↔_Euler_axis/angle, the Euler axis/angle in 3D space can be derived entirely from trig functions using the 3x3 matrix A. To project the axis of rotation onto the XY plane is simply a case of projecting the new plane's z-axis (the axis normal to the plane) onto XY rotated by 90. The angle of rotation will be the angle the new z-axis has with the original XY plane.

This allows for a part requiring machining around 3 axis to be performed on 2 axis. I've verified that by drawing the planes in Inventor. Works perfectly.

Related Question