Rotation matrix in 3-dimensional space with two angles. I am trying to find a description of a rotation in a three-dimensional space with a matrix that uses only 2 angles. It is easy to find one which uses three angles, since I can always consider the rotation on one singular axis at a time and then multiply them together. Still I am sure it can be done with one angle less.
What in my opinion is a starting point is that the group of orthonormal matrices $$\not O(n,\mathbb{R})=R(n,\mathbb{R}),$$ where R is the group of rotations. Now this equality yields a series of equations on which I have been working a little (In this same way you show that a rotation on the plane uses only one angle), but I couldn't find a solution. It would be appreciated to use only basic geometry notions since I am only in the second semester of my math studies!
 A: The space of rotations $\operatorname{SO}(3, \Bbb R)$ is a $3$-dimensional space meaning you  can move around it using $3$ parameters.  You need two numbers to specify an axis and then a single angle to specify how much to rotate by around that axis.
A: OK, so you're convinced you can do it with three angles. Since you need at least three parameters to describe all rotations, you're going to have to figure out what to replace that missing information with.
In fact, you can use a single angle, as long as you're willing to encode the rest of the information in a line that acts as an axis for the rotation. To accomplish this, you can just use a point away from the origin. Drawing a line through the origin and that point determines the axis of rotation. You only need one angle in a plane normal to the axis to determine the entire rotation.
So for example, $((1,1,1),\pi/4)$ could be interpreted as parameters to rotate about the axis through $(0,0,0)$ and $(1,1,1)$ with a $\pi/4$ angle. The most sensible way to rotate would be so that the vector $(1,1,1)$ is the upward normal to the plane, and so a positive angle of rotation would be counterclockwise looking "down" onto the plane.
This is already a pretty crisp way to look at rotations, but if you really want to use two angles, you can probably contrive something similar. You could use a point in the $x-y$ plane to determine a line through the origin, which you could then incline/decline by an angle to get an axis of rotation, and you could add the angle of rotation in the plane determined by the axis. However, this is really not much different from the three-angle representation, since the line in the $x-y$ plane could be described as the line $y=0$ rotated in the $x-y$ plane by a certain angle.
A: I think that every 3d rotation is the composition of two rotation around an axis. Think about a cylinder (with, for example, a rectangular base) centred in the origin and with a base contained in a plane perpendicular to the $z$ axis. Any 3d rotation of it can be reproduced by the composition of a planar rotation around the $z$ axis (which rotates the base) and a rotation around an axis orthogonal to the $z$ axis (which rotates the axis of the cylinder).
The same reasoning can be done not referring to a cylinder. In fact, any 3d shape, as the cylinder, is identified by two vectors, and therefore by two planar rotations!
So, you need just two angles and the matrix is the product of the two matrix that describe the two rotations I explained
