PlanetMath (more info)
 Math for the people, by the people. Sponsor PlanetMath
Encyclopedia | Requests | Forums | Docs | Wiki | Random | RSS  
Login
create new user
name:
pass:
forget your password?
Main Menu
Owner confidence rating: High Entry average rating: No information on entry rating
[parent] derivation of 2D reflection matrix (Derivation)

Reflection across a line of given angle

Let $ \mathbf{x}, \mathbf{y}$ be perpendicular unit vectors in the plane. Suppose we want to reflect vectors (perpendicularly) over a line that makes an angle $ \theta$ with the positive $ \mathbf{x}$ axis. More precisely, we are given a direction direction vector $ \mathbf{u}= \cos \theta \, \mathbf{x}+ \sin \theta \, \mathbf{y}$ for the line of reflection. A unit vector perpendicular to $ \mathbf{u}$ is $ \mathbf{v}= -\sin \theta \, \mathbf{x}+ \cos \theta \, \mathbf{y}$ (as is easily checked). Then to reflect an arbitrary vector $ \mathbf{w}$, we write $ \mathbf{w}$ in terms of its components in the $ \mathbf{u}, \mathbf{v}$ axes: $ \mathbf{w}= a\mathbf{u}+ b \mathbf{v}$, and the result of the reflection is to be $ \mathbf{w}' = a\mathbf{u}- b \mathbf{v}$.
\includegraphics{reflection.eps}

We compute the matrix for such a reflection in the original $ x,y$ coordinates.

Denote the reflection by $ T$. By the matrix change-of-coordinates formula, we have

$\displaystyle [ T ]_{xy} = [I]_{uv}^{xy} \: [T]_{uv} \: [I]_{xy}^{uv} ,$    

where $ [T]_{xy}$ and $ [T]_{uv}$ denote the matrix representing $ T$ with respect to the $ x,y$ and $ u,v$ coordinates respectively; $ [I]_{uv}^{xy}$ is the matrix that changes from $ u,v$ coordinates to $ x,y$ coordinates, and $ [I]_{xy}^{uv}$ is the matrix that changes coordinates the other way.

The three matrices on the right-hand side are all easily derived from the description we gave for the reflection $ T$:

$\displaystyle [I]_{uv}^{xy} = \begin{bmatrix}\cos \theta & -\sin \theta \ \sin... ...matrix}\cos \theta & \sin \theta \ -\sin \theta & \cos \theta \end{bmatrix} .$    

Computing the matrix product (with the help of the double angle identity) yields:
$\displaystyle [T]_{xy} = \begin{bmatrix}\cos 2\theta & \sin 2\theta \\ \sin 2\theta & -\cos 2\theta \end{bmatrix}\,.$ (1)

For the information of the reader, we note that there are other ways of ``deriving'' this result. One is by the use of a diagram, which would show that $ (1,0)$ gets reflected to $ (\cos 2\theta, \sin 2\theta)$ and $ (0,1)$ gets reflected to $ (\sin 2\theta, -\cos 2\theta)$. Another way is to observe that we can rotate an arbitrary mirror line onto the x-axis, then reflect across the x-axis, and rotate back. (The matrix product $ [T]_{xy}$ can be seen as operating this way.) We took neither of these two approaches, because to justify them rigorously takes a bit of work, that is avoided by the pure linear algebra approach.

Note also that $ [T]_{uv}$ and $ [T]_{xy}$ are orthogonal matrices, with determinant $ -1$, as expected.

Reflection across a line of given direction vector

Suppose instead of being given an angle $ \theta$, we are given the unit direction vector $ u$ to reflect the vector $ w$. We can derive the matrix for the reflection directly, without involving any trigonometric functions.

In the decomposition $ \mathbf{w}= a \mathbf{u}+ b\mathbf{v}$, we note that $ b = \mathbf{w}\cdot \mathbf{v}$. Therefore

$\displaystyle \mathbf{w}' = (a\mathbf{u}+ b\mathbf{v}) - 2b\mathbf{v}= \mathbf{w}- 2(\mathbf{w}\cdot \mathbf{v}) \mathbf{v}\,. $
(In fact, this is the formula used in the source code to draw the diagram in this entry.) To derive the matrix with respect to $ x,y$ coordinates, we resort to a trick:

$\displaystyle \mathbf{w}' = I\mathbf{w}- 2\mathbf{v}(\mathbf{w}\cdot \mathbf{v}... ...\mathbf{w}) = I\mathbf{w}- 2(\mathbf{v}\mathbf{v}^{\textrm{tr}}) \mathbf{w}\,. $
Therefore the matrix of the transformation is

$\displaystyle I - 2\mathbf{v}\mathbf{v}^{\textrm{tr}} = \begin{bmatrix} u_x^2 -... ...u}= (u_x, u_y)^{\textrm{tr}}\,, \quad \mathbf{v}= (-u_y, u_x)^{\textrm{tr}}\,. $
If $ u$ was not a unit vector to begin with, it of course suffices to divide by its magnitude before proceeding. Taking this into account, we obtain the following matrix for a reflection about a line with direction $ \mathbf{u}$:
$\displaystyle \frac{1}{u_x^2 + u_y^2} \begin{bmatrix}u_x^2 - u_y^2 & 2u_x u_y \\ 2u_x u_y & u_y^2 - u_x^2 \end{bmatrix}\,.$ (2)

Notice that if we put $ u_x = \cos \theta$ and $ u_y = \sin \theta$ in matrix (2), we get matrix (1), as it should be.

Reflection across a line of given slope

There is another form for the matrix (1). We set $ m = \tan \theta$ to be the slope of the line of reflection and use the identities:
$\displaystyle \cos^2 \theta$ $\displaystyle = \frac{1}{\tan^2 \theta + 1} = \frac{1}{m^2 + 1}$    
$\displaystyle \cos 2 \theta$ $\displaystyle = 2 \cos^2 \theta - 1$    
$\displaystyle \sin 2 \theta$ $\displaystyle = 2 \sin \theta \cos \theta = 2 \tan \theta \cos^2 \theta = 2m \cos^2 \theta .$    

When these equations are substituted in matrix (1), we obtain an alternate expression for it in terms of $ m$ only:
$\displaystyle \frac{1}{m^2 + 1} \begin{bmatrix}1-m^2 & 2m \\ 2m & m^2 - 1 \end{bmatrix}\,.$ (3)

Thus we have derived the matrix for a reflection about a line of slope $ m$.

Alternatively, we could have also substituted $ u_x = 1$ and $ u_y = m$ in matrix (2) to arrive at the same result.

Topology of reflection matrices

Of course, formula (3) does not work literally when $ m = \pm \infty$ (the line is vertical). However, that case may be derived by taking the limit $ \lvert m\rvert \to \infty$ -- this limit operation can be justified by considerations of the topology of the space of two-dimensional reflection matrices.

What is this topology? It is the one-dimensional projective plane $ \mathbb{RP}^1$, or simply, the ``real projective line''. It is formed by taking the circle, and identifying opposite points, so that each pair of opposite points specify a unique mirror line of reflection in $ \mathbb{R}^2$. Formula (1) is a parameterization of $ \mathbb{RP}^1$. Note that (1) involves the quantity $ 2\theta$, not $ \theta$, because for a point $ (\cos \theta, \sin \theta)$ on the circle, its opposite point $ (\cos (\theta+\pi), \sin (\theta+\pi))$ specify the same reflection, so formula (1) has to be invariant when $ \theta$ is replaced by $ \theta + \pi$.

But (1) might as well be written

$\displaystyle [T]_{xy} = \begin{bmatrix}\cos \phi & \sin \phi \\ \sin \phi & -\cos \phi \end{bmatrix}\,.$ (4)

where $ \phi = 2\theta$. For this parameterization of $ RP^1$ to be one-to-one, $ \phi$ can range over interval $ (0, 2\pi)$, and the endpoints at $ \phi = 0, 2\pi$ overlap just as for a circle, without identifying pairs of opposite points. What does this mean? It is the fact that $ \mathbb{RP}^1$ is homeomorphic to the circle $ S^1$.

The real projective line $ \mathbb{RP}^1$ is also the one-point compactification of $ \mathbb{R}$ (i.e. $ \mathbb{RP}^1= \mathbb{R}\cup \{ \infty \}$), as shown by formula (3); the number $ m = \infty$ corresponds to a reflection across the vertical axis. Note that this ``$ \infty$'' is not the same as the usual $ \pm \infty$, because here $ -\infty$ and $ \infty$ are actually the same number, both representing the slope of a vertical line.




"derivation of 2D reflection matrix" is owned by stevecheng.
(view preamble | get metadata)

View style:

See Also: rotation matrix, decomposition of orthogonal operators as rotations and reflections, derivation of rotation matrix using polar coordinates

Keywords:  reflection matrix, slope, real projective line

This object's parent.
Log in to rate this entry.
(view current ratings)

Cross-references: number, one-point compactification, projective line, real, homeomorphic, mean, endpoints, interval, range, one-to-one, invariant, points, opposite, circle, projective plane, topology, operation, limit, expression, equations, identities, slope, divide, transformation, decomposition, trigonometric functions, unit, determinant, orthogonal matrices, linear algebra, onto, rotate, diagram, double angle identity, matrix product, side, formula, coordinates, matrix, components, reflection, direction vector, axis, positive, angle, line, vectors, reflect, plane, unit vectors, perpendicular
There is 1 reference to this entry.

This is version 11 of derivation of 2D reflection matrix, born on 2005-07-25, modified 2006-03-13.
Object id is 7262, canonical name is DerivationOf2DReflectionMatrix.
Accessed 26468 times total.

Classification:
AMS MSC15-00 (Linear and multilinear algebra; matrix theory :: General reference works )

Pending Errata and Addenda
None.
[ View all 1 ]
Discussion
Style: Expand: Order:
forum policy

No messages.

Interact
post | correct | update request | add example | add (any)