I mean, is it true that every rotation matrix is the result of multypling one reflection matrix by another? If the answer is yes, how do I prove it? And what are the reflection matrices I can use to make a 30 degrees rotation matrix on the plane?
- 1$\begingroup$ Three reflections are definitely enough, since every isometry is the composition of at least three reflections. $\endgroup$gary– gary2015-04-15 17:54:41 +00:00Commented Apr 15, 2015 at 17:54
- 1$\begingroup$ Agreed with gary, the old ray tracing book by Glassner mentions that you need three reflection to get a general rotation. $\endgroup$Ricbit– Ricbit2015-04-15 17:55:45 +00:00Commented Apr 15, 2015 at 17:55
1 Answer
Well we have that the general reflection matrix (In the line $y = x \tan(a/2)$) is given by:
$$ \begin{bmatrix} cos(a) & sin(a)\\ sin(a) & cos(a)\\ \end{bmatrix} $$
And so after multiplying two relflection matrices $S_a$ and $S_b$, then using the addition rules for sin and cosine we get $S_aS_b$ =
$$ \begin{bmatrix} cos(a-b) & -sin(a-b)\\ sin(a-b) & cos(a-b)\\ \end{bmatrix} $$
Which after comparing with the rotation matrix, we see is the same as rotating through an angle $a-b$.
So in conclusion, Yes. Every rotation is in fact the product of two reflections.
- $\begingroup$ Thanks so much for answering Omar, however I would like to be able to know what reflections I can use to make any rotation. I mean, what are the possible pair of reflections I can use to make a 2dimension 37 degrees rotation, a 49 degrees, or whatever rotation I am given. And how can I prove it and generalize to higher dimensions? $\endgroup$user207032– user2070322015-04-15 19:08:40 +00:00Commented Apr 15, 2015 at 19:08
- $\begingroup$ So if you want to have a 37 degree rotation, you just pick two random angles a and b such that a-b = 37. Like a = 60 and b = 23. You just have to take a bit of care so that the tangent of the angles used are well defined. As for your next point, well you just replicate the proof I've given for higher dimensions, take two arbitrary reflection matrices.. multiply them together and fiddle with the result. $\endgroup$User27– User272015-04-15 21:13:36 +00:00Commented Apr 15, 2015 at 21:13