Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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!

share|cite|improve this question
am I misunderstanding your problem? Are you trying to show any rotation matrix in $\Bbb R^3$ can be written using just two angles? – muzzlator Apr 7 '13 at 15:06
My geometry professor states that it is in general true that in a space of dimension n+1 you need only n angles to describe a rotation. Now if you think of the 3-dimensional vector space it is actually true, it's quite easy to imagine.. more difficult to write down. – Cornelis Apr 7 '13 at 16:40
@Cornelis What your prof says may be true, but what "just using $n$ angles" means is a little vague, so we may misapprehend what it means. – rschwieb Apr 7 '13 at 20:15
up vote 1 down vote accepted

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.

share|cite|improve this answer

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.

share|cite|improve this answer
you move around using one parameter in a two dimensional space. I don't get the thing of choosing the axis, though it could easily be my ignorance! I can't really visualize the problem in abstract, though I can imagine that with some algebra one could erase an angle from the matrix that uses three angles. – Cornelis Apr 7 '13 at 16:46
@muzzlator is correct. Any rotation in 3 space happens around an axis (the Earth's axis for instance determines the N & S poles). When a car goes around a corner, that axis points from the ground to the sky. When it goes over a hill (as it goes from nose-up to nose-down) the axis is from the passenger to driver direction. The direction is a normalized vector (x,y,z) but since it has unit length, x & y completely determine z. The angle then determines the angle to rotate around that specified axis. – Mark Ping May 2 '13 at 16:36

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

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.