Reflection (geometry): Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Paul Wormer
mNo edit summary
 
(8 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{subpages}}
{{subpages}}
In [[analytic geometry]], a '''reflection''' is a linear operation &sigma; on a vector space with &sigma;<sup>2</sup> = 1, i.e., &sigma; is an ''involution''. Reflecting twice  an arbitrary vector brings  back the original vector :
In [[Euclidean geometry]], a '''reflection''' is a linear operation &sigma; on <font style="vertical-align: top"><math>\mathbb{R}^3</math></font> with &sigma;<sup>2</sup> = E, the identity map. This property of &sigma; is called ''involution''. An involutory operator is non-singular and  &sigma;<sup>&minus;1</sup> = &sigma;.  Reflecting twice  an arbitrary vector brings  back the original vector :
:<math>
:<math>
\sigma( \vec{\mathbf{r}}\,) = \vec{\mathbf{r}}\,' \quad\hbox{and}\quad \sigma( \vec{\mathbf{r}}\,'\,) = \vec{\mathbf{r}}.
\sigma( \vec{\mathbf{r}}\,) = \vec{\mathbf{r}}\,' \quad\hbox{and}\quad \sigma( \vec{\mathbf{r}}\,'\,) = \vec{\mathbf{r}}.
</math>
</math>
{{Image|Reflection in plane.png|right|250px|The vector <math>\scriptstyle \vec{\mathbf{r}}</math>  goes to <math>\scriptstyle\vec{\mathbf{r}}'</math> under reflection in a plane. The unit vector <math>\scriptstyle\hat{\mathbf{n}}</math> is normal to mirror plane.    }}
The operation &sigma; is an [[isometry]] of <font style="vertical-align: top"><math>\mathbb{R}^3</math></font> onto itself, which means that it  preserves inner products and that its inverse is equal to its adjoint,
:<math>
\sigma^\mathrm{T} = \sigma^{-1}\; ( = \sigma). \,
</math>
Hence reflection is also [[symmetric]]: &sigma;<sup>T</sup> = &sigma;.  From (det(&sigma;))<sup>2</sup> = det(E) = 1 follows that isometries have [[determinant]] &plusmn;1. Those with positive determinant are rotations, while reflections have determinant &minus;1. Because &sigma; is symmetric it has real [[eigenvalue]]s; since the extension of an isometry to a complex space is unitary, its (complex) eigenvalues have modulus 1. It follows that  the eigenvalues of &sigma; are &plusmn;1.  The product of the eigenvalues being its determinant, &minus;1, the sets of eigenvalues of &sigma; are either {1, 1, &minus;1}, or {&minus;1, &minus;1,  &minus;1}. An operator with the latter set of eigenvalues is equal to &minus;E,  minus the identity operator. This operator is known alternatively as inversion, reflection in a point, or parity operator. An operator with the former set of eigenvalues is reflection in a plane. Reflections in a plane are the subject of this article.
Sometimes one finds the concept of "reflections in a line", these are rotations over 180°, see [[Rotation matrix#Explicit expression of rotation matrix|rotation matrix]].
 
{{Image|Reflection in plane.png|right|250px|Fig. 1. The vector <math>\scriptstyle \vec{\mathbf{r}}</math>  goes to <math>\scriptstyle\vec{\mathbf{r}}'</math> under reflection in a plane. The unit vector <math>\scriptstyle\hat{\mathbf{n}}</math> is normal to mirror plane.    }}
 
==Reflection in a plane==
==Reflection in a plane==
If <math>\hat{\mathbf{n}}</math> is a unit vector normal (perpendicular) to a plane&mdash;the mirror plane&mdash;then <math> (\hat{\mathbf{n}}\cdot\vec{\mathbf{r}})\hat{\mathbf{n}}</math> is the projection of <math>\vec{\mathbf{r}}</math> on this unit vector.  From the figure it is evident that  
If <math>\hat{\mathbf{n}}</math> is a unit vector normal (perpendicular) to a plane&mdash;the mirror plane&mdash;then <math> (\hat{\mathbf{n}}\cdot\vec{\mathbf{r}})\hat{\mathbf{n}}</math> is the projection of <math>\vec{\mathbf{r}}</math> on this unit vector.  From the figure it is evident that  
:<math>
:<math>
Line 19: Line 28:
\vec{\mathbf{r}}\,' = \vec{\mathbf{r}} - 2 \frac{ (\vec{\mathbf{n}}\cdot\vec{\mathbf{r}})\vec{\mathbf{n}}}{n^2}
\vec{\mathbf{r}}\,' = \vec{\mathbf{r}} - 2 \frac{ (\vec{\mathbf{n}}\cdot\vec{\mathbf{r}})\vec{\mathbf{n}}}{n^2}
</math>
</math>
Sometimes it is convenient to write this as a matrix equation. Introducing the [[dyadic product]], we obtain
:<math>
\vec{\mathbf{r}}\,' = \left[ \mathbf{E}  - \frac{2}{n^2} \vec{\mathbf{n}} \otimes\vec{\mathbf{n}} \right] \; \vec{\mathbf{r}},
</math>
where '''E''' is the 3&times;3 [[identity matrix]].
Dyadic products satisfy the matrix multiplication rule
:<math>
[\vec{\mathbf{a}}\otimes\vec{\mathbf{b}}]\, [ \vec{\mathbf{c}}\otimes\vec{\mathbf{d}}] =
(\vec{\mathbf{b}} \cdot \vec{\mathbf{c}}) \big( \vec{\mathbf{a}}\otimes\vec{\mathbf{d}} \big).
</math>
By the use of this rule it is easily shown that
:<math>
\left[ \mathbf{E}  - \frac{2}{n^2} \vec{\mathbf{n}} \otimes\vec{\mathbf{n}} \right]^2
=  \mathbf{E},
</math>
which confirms that reflection is involutory.
<!--
This relation can be immediately generalized to ''m''-dimensional inner product spaces. Let the space ''V''<sub>''m''</sub> allow an orthogonal direct sum decomposition into a 1-dimensional and a (''m''&minus;1)-dimensional subspace,
This relation can be immediately generalized to ''m''-dimensional inner product spaces. Let the space ''V''<sub>''m''</sub> allow an orthogonal direct sum decomposition into a 1-dimensional and a (''m''&minus;1)-dimensional subspace,
:<math>
:<math>
Line 28: Line 56:
</math>
</math>
is a reflection of ''r'' in the ''hyperplane'' ''V''<sub>''m&minus;1''</sub>. (By definition a hyperplane is an ''m&minus;1''-dimensional  linear subspace  of a linear space of dimension ''m''.) The inner product of two vectors ''v''  and ''w'' is notated as (''v'', ''w''), which is common for vector spaces of arbitrary dimension.
is a reflection of ''r'' in the ''hyperplane'' ''V''<sub>''m&minus;1''</sub>. (By definition a hyperplane is an ''m&minus;1''-dimensional  linear subspace  of a linear space of dimension ''m''.) The inner product of two vectors ''v''  and ''w'' is notated as (''v'', ''w''), which is common for vector spaces of arbitrary dimension.
-->
{{Image|Reflection shifted plane.png|left|250px|Fig. 2. The vector <math>\vec{\mathbf{s}}</math> goes to <math>\vec{\mathbf{s}}\,'</math> under reflection}}
==Reflection in a plane not through the origin==
In Figure 2 a plane, not containing the origin O,  is considered that is  orthogonal to the vector <math>\vec{\mathbf{t}}</math>.  The length of this vector is the distance from O to the plane.
From Figure 2, we find
:<math>
\vec{\mathbf{r}} = \vec{\mathbf{s}} - \vec{\mathbf{t}}, \quad
\vec{\mathbf{r}}\,' = \vec{\mathbf{s}}\,' - \vec{\mathbf{t}}
</math>
Use of the equation derived earlier gives
:<math>
\vec{\mathbf{s}}\,' - \vec{\mathbf{t}} = \vec{\mathbf{s}} - \vec{\mathbf{t}}
- 2 \big(\hat{\mathbf{n}}\cdot (\vec{\mathbf{s}} - \vec{\mathbf{t}})\big)\hat{\mathbf{n}}.
</math>
And hence the equation for the reflected pair of vectors is,
:<math>
\vec{\mathbf{s}}\,'  = \vec{\mathbf{s}}
- 2 \big(\hat{\mathbf{n}}\cdot (\vec{\mathbf{s}} - \vec{\mathbf{t}})\big)\hat{\mathbf{n}},
</math>
where <math>\hat{\mathbf{n}}</math> is a unit vector normal to the plane. Obviously <math>\vec{\mathbf{t}}</math> and <math>\hat{\mathbf{n}}</math> are proportional, they differ only by scaling. Therefore, the equation can be written solely in terms of <math>\vec{\mathbf{t}}</math>,
:<math>
\vec{\mathbf{s}}\,'  = \vec{\mathbf{s}}
- 2 \frac{\vec{\mathbf{t}}\cdot (\vec{\mathbf{s}} - \vec{\mathbf{t}})}{t^2}\vec{\mathbf{t}}, \quad
t^2 \equiv \vec{\mathbf{t}}\cdot \vec{\mathbf{t}}.
</math>
==Two consecutive reflections==
==Two consecutive reflections==
{{Image|Two reflections.png|right|450px|Fig. 2.  Two reflections. Left drawing: 3-dimensional drawing. Right drawing: view along the PQ axis, drawing projected on the plane through ABC. This plane intersect the line PQ in the point P&prime;}}
{{Image|Two reflections.png|right|450px|Fig. 3.  Two reflections. Left drawing: 3-dimensional drawing. Right drawing: view along the PQ axis, drawing projected on the plane through ABC. This plane intersect the line PQ in the point P&prime;}}
Two consecutive reflections in two intersecting planes give a rotation around the line of intersection. This is shown in Figure 2, where PQ is the line of intersection.  
Two consecutive reflections in two intersecting planes give a rotation around the line of intersection. This is shown in Figure 3, where PQ is the line of intersection.  
The  drawing on the left shows that reflection of point A in the plane through PMQ brings the point A to B. A consecutive reflection in the plane through PNQ brings B to the final position C. In the right-hand drawing it is shown that the rotation angle  &phi;  is equal to twice the angle between the mirror planes. Indeed, the angle &ang; AP'M = &ang; MP'B = &alpha; and &ang; BP'N = &ang; NP'C = &beta;. The rotation angle &ang; AP'C &equiv; &phi; = 2&alpha; + 2&beta; and the angle between the planes is &alpha;+&beta; = &phi;/2.
The  drawing on the left shows that reflection of point A in the plane through PMQ brings the point A to B. A consecutive reflection in the plane through PNQ brings B to the final position C. In the right-hand drawing it is shown that the rotation angle  &phi;  is equal to twice the angle between the mirror planes. Indeed, the angle &ang; AP'M = &ang; MP'B = &alpha; and &ang; BP'N = &ang; NP'C = &beta;. The rotation angle &ang; AP'C &equiv; &phi; = 2&alpha; + 2&beta; and the angle between the planes is &alpha;+&beta; = &phi;/2.


From the point of view of matrices this result follows easily also. A reflection is represented by an improper matrix, that is, by an [[orthogonal matrix]] with [[determinant]] &minus;1. The product of two orthogonal matrices is again an orthogonal matrix and the rule for determinants is det('''AB''') = det('''A''')det('''B'''), so that the product of two improper rotation matrices is an orthogonal matrix with unit determinant, i.e., the matrix of a proper rotation.
It is obvious that the product of two reflections is a rotation. Indeed,  a reflection is an [[isometry]] and has [[determinant]] &minus;1. The product of two isometric operators is again an isometry and the rule for determinants is det(''AB'') = det(''A'')det(''B''), so that the product of two reflections is an isometry  with unit determinant, i.e., a rotation.
 
Let the normal of the first plane be <math>\vec{\mathbf{s}}</math> and of the second <math>\vec{\mathbf{t}}</math>, then the rotation is represented by the matrix
:<math>
\left[ \mathbf{E}  - \frac{2}{t^2} \vec{\mathbf{t}} \otimes\vec{\mathbf{t}} \right]\, \left[ \mathbf{E}  - \frac{2}{s^2} \vec{\mathbf{s}} \otimes\vec{\mathbf{s}} \right]
= \mathbf{E}  - \frac{2}{t^2} \vec{\mathbf{t}} \otimes\vec{\mathbf{t}} - \frac{2}{s^2} \vec{\mathbf{s}} \otimes\vec{\mathbf{s}} + \frac{4}{t^2 s^2} (\vec{\mathbf{t}}\cdot\vec{\mathbf{s}})\;
\big(\vec{\mathbf{t}} \otimes\vec{\mathbf{s}}\big)
</math>
The ''(i,j)'' element if this matrix is equal to
:<math>
\delta_{ij} - \frac{2 t_i t_j }{t^2} - \frac{2 s_i s_j }{s^2} + \frac{4 t_i s_j (\sum_k t_k s_k)}{t^2 s^2} .
</math>
This formula is used in [[vector rotation]].[[Category:Suggestion Bot Tag]]

Latest revision as of 16:00, 10 October 2024

This article is developing and not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
This editable Main Article is under development and subject to a disclaimer.

In Euclidean geometry, a reflection is a linear operation σ on with σ2 = E, the identity map. This property of σ is called involution. An involutory operator is non-singular and σ−1 = σ. Reflecting twice an arbitrary vector brings back the original vector :

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sigma( \vec{\mathbf{r}}\,) = \vec{\mathbf{r}}\,' \quad\hbox{and}\quad \sigma( \vec{\mathbf{r}}\,'\,) = \vec{\mathbf{r}}. }

The operation σ is an isometry of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbb{R}^3} onto itself, which means that it preserves inner products and that its inverse is equal to its adjoint,

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \sigma^\mathrm{T} = \sigma^{-1}\; ( = \sigma). \, }

Hence reflection is also symmetric: σT = σ. From (det(σ))2 = det(E) = 1 follows that isometries have determinant ±1. Those with positive determinant are rotations, while reflections have determinant −1. Because σ is symmetric it has real eigenvalues; since the extension of an isometry to a complex space is unitary, its (complex) eigenvalues have modulus 1. It follows that the eigenvalues of σ are ±1. The product of the eigenvalues being its determinant, −1, the sets of eigenvalues of σ are either {1, 1, −1}, or {−1, −1, −1}. An operator with the latter set of eigenvalues is equal to −E, minus the identity operator. This operator is known alternatively as inversion, reflection in a point, or parity operator. An operator with the former set of eigenvalues is reflection in a plane. Reflections in a plane are the subject of this article. Sometimes one finds the concept of "reflections in a line", these are rotations over 180°, see rotation matrix.

PD Image
Fig. 1. The vector Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \scriptstyle \vec{\mathbf{r}}} goes to Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \scriptstyle\vec{\mathbf{r}}'} under reflection in a plane. The unit vector Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \scriptstyle\hat{\mathbf{n}}} is normal to mirror plane.

Reflection in a plane

If Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \hat{\mathbf{n}}} is a unit vector normal (perpendicular) to a plane—the mirror plane—then Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle (\hat{\mathbf{n}}\cdot\vec{\mathbf{r}})\hat{\mathbf{n}}} is the projection of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \vec{\mathbf{r}}} on this unit vector. From the figure it is evident that

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \vec{\mathbf{r}} - \vec{\mathbf{r}}\,' = 2 (\hat{\mathbf{n}}\cdot\vec{\mathbf{r}})\, \hat{\mathbf{n}} \;\Longrightarrow\; \vec{\mathbf{r}}\,' = \vec{\mathbf{r}} - 2 (\hat{\mathbf{n}}\cdot\vec{\mathbf{r}})\hat{\mathbf{n}} }

If a non-unit normal Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \vec{\mathbf{n}}} is used then substitution of

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \hat{\mathbf{n}} = \frac{\vec{\mathbf{n}}}{ |\vec{\mathbf{n}}|} \equiv \frac{\vec{\mathbf{n}}}{n} }

gives the mirror image,

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \vec{\mathbf{r}}\,' = \vec{\mathbf{r}} - 2 \frac{ (\vec{\mathbf{n}}\cdot\vec{\mathbf{r}})\vec{\mathbf{n}}}{n^2} }

Sometimes it is convenient to write this as a matrix equation. Introducing the dyadic product, we obtain

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \vec{\mathbf{r}}\,' = \left[ \mathbf{E} - \frac{2}{n^2} \vec{\mathbf{n}} \otimes\vec{\mathbf{n}} \right] \; \vec{\mathbf{r}}, }

where E is the 3×3 identity matrix.

Dyadic products satisfy the matrix multiplication rule

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle [\vec{\mathbf{a}}\otimes\vec{\mathbf{b}}]\, [ \vec{\mathbf{c}}\otimes\vec{\mathbf{d}}] = (\vec{\mathbf{b}} \cdot \vec{\mathbf{c}}) \big( \vec{\mathbf{a}}\otimes\vec{\mathbf{d}} \big). }

By the use of this rule it is easily shown that

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \left[ \mathbf{E} - \frac{2}{n^2} \vec{\mathbf{n}} \otimes\vec{\mathbf{n}} \right]^2 = \mathbf{E}, }

which confirms that reflection is involutory.

PD Image
Fig. 2. The vector Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \vec{\mathbf{s}}} goes to Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \vec{\mathbf{s}}\,'} under reflection

Reflection in a plane not through the origin

In Figure 2 a plane, not containing the origin O, is considered that is orthogonal to the vector Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \vec{\mathbf{t}}} . The length of this vector is the distance from O to the plane. From Figure 2, we find

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \vec{\mathbf{r}} = \vec{\mathbf{s}} - \vec{\mathbf{t}}, \quad \vec{\mathbf{r}}\,' = \vec{\mathbf{s}}\,' - \vec{\mathbf{t}} }

Use of the equation derived earlier gives

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \vec{\mathbf{s}}\,' - \vec{\mathbf{t}} = \vec{\mathbf{s}} - \vec{\mathbf{t}} - 2 \big(\hat{\mathbf{n}}\cdot (\vec{\mathbf{s}} - \vec{\mathbf{t}})\big)\hat{\mathbf{n}}. }

And hence the equation for the reflected pair of vectors is,

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \vec{\mathbf{s}}\,' = \vec{\mathbf{s}} - 2 \big(\hat{\mathbf{n}}\cdot (\vec{\mathbf{s}} - \vec{\mathbf{t}})\big)\hat{\mathbf{n}}, }

where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \hat{\mathbf{n}}} is a unit vector normal to the plane. Obviously Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \vec{\mathbf{t}}} and Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \hat{\mathbf{n}}} are proportional, they differ only by scaling. Therefore, the equation can be written solely in terms of Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \vec{\mathbf{t}}} ,

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \vec{\mathbf{s}}\,' = \vec{\mathbf{s}} - 2 \frac{\vec{\mathbf{t}}\cdot (\vec{\mathbf{s}} - \vec{\mathbf{t}})}{t^2}\vec{\mathbf{t}}, \quad t^2 \equiv \vec{\mathbf{t}}\cdot \vec{\mathbf{t}}. }

Two consecutive reflections

PD Image
Fig. 3. Two reflections. Left drawing: 3-dimensional drawing. Right drawing: view along the PQ axis, drawing projected on the plane through ABC. This plane intersect the line PQ in the point P′

Two consecutive reflections in two intersecting planes give a rotation around the line of intersection. This is shown in Figure 3, where PQ is the line of intersection. The drawing on the left shows that reflection of point A in the plane through PMQ brings the point A to B. A consecutive reflection in the plane through PNQ brings B to the final position C. In the right-hand drawing it is shown that the rotation angle φ is equal to twice the angle between the mirror planes. Indeed, the angle ∠ AP'M = ∠ MP'B = α and ∠ BP'N = ∠ NP'C = β. The rotation angle ∠ AP'C ≡ φ = 2α + 2β and the angle between the planes is α+β = φ/2.

It is obvious that the product of two reflections is a rotation. Indeed, a reflection is an isometry and has determinant −1. The product of two isometric operators is again an isometry and the rule for determinants is det(AB) = det(A)det(B), so that the product of two reflections is an isometry with unit determinant, i.e., a rotation.

Let the normal of the first plane be Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \vec{\mathbf{s}}} and of the second Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \vec{\mathbf{t}}} , then the rotation is represented by the matrix

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \left[ \mathbf{E} - \frac{2}{t^2} \vec{\mathbf{t}} \otimes\vec{\mathbf{t}} \right]\, \left[ \mathbf{E} - \frac{2}{s^2} \vec{\mathbf{s}} \otimes\vec{\mathbf{s}} \right] = \mathbf{E} - \frac{2}{t^2} \vec{\mathbf{t}} \otimes\vec{\mathbf{t}} - \frac{2}{s^2} \vec{\mathbf{s}} \otimes\vec{\mathbf{s}} + \frac{4}{t^2 s^2} (\vec{\mathbf{t}}\cdot\vec{\mathbf{s}})\; \big(\vec{\mathbf{t}} \otimes\vec{\mathbf{s}}\big) }

The (i,j) element if this matrix is equal to

Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \delta_{ij} - \frac{2 t_i t_j }{t^2} - \frac{2 s_i s_j }{s^2} + \frac{4 t_i s_j (\sum_k t_k s_k)}{t^2 s^2} . }

This formula is used in vector rotation.