From reflection plane to "reflection" matrix

1.7k Views Asked by At

How do I determine the "reflection" matrix, relative to the canonical basis, of a reflection on the plane $ \{x+y+z = 0\}$ in $\mathbb{R}^3$ ?

I figured I should take the two eigenvectors which should be $n =(-1, 1, 0)$ and $v= (-1, 0, 1)$.
Take one of the two and compute the Matrix with this: $M = I-2n^Tn$, but it's not working.

3

There are 3 best solutions below

4
On BEST ANSWER

If $\bf n$ is a unit normal to the plane (as a column vector), the reflection across that plane is $I - 2 {\bf n} {\bf n}^T$.

EDIT: In your case $${\bf n} = \pmatrix{1/\sqrt{3}\cr 1/\sqrt{3}\cr 1/\sqrt{3}\cr}$$

0
On

A fairly straightforward way is to reflect the standard unit vectors directly. The reflected vectors (in standard basis order) will be the columns of the reflection matrix.

To reflect a vector $v$, one way is to take the line through the endpoint of $v$, with direction equal to a normal vector of the plane, and find the point on the plane where the line intersects the plane. That point is the midpoint of the line segment between the endpoint of $v$ and the endpoint of its reflection.

Alternatively, you can project $v$ onto the plane and find the orthogonal complement, $q$ say. Then the reflection of $v$ is just $v-2q$.

0
On

If you want to construct the matrix using eigenvectors, you need all three. You’ve got two eigenvectors (of $1$) that span the plane, but you also need an eigenvector of $-1$, which will be normal to the plane. You can read a normal to the plane directly from its equation, which can be written in vector form as $\mathbf n\cdot\mathbf x=0$. This gives us $(1,1,1)^T$. In the eigenbasis, the matrix of a reflection is $\operatorname{diag}(1,1,-1)$, and a change of basis will get us the matrix relative to the standard basis: $$\begin{bmatrix}-1&_-1&1\\1&0&1\\0&1&1\end{bmatrix}\begin{bmatrix}1&0&0\\0&1&0\\0&0&-1\end{bmatrix}\begin{bmatrix}-1&_-1&1\\1&0&1\\0&1&1\end{bmatrix}^{-1}.$$ I’ll leave multiplying this out to you.

What you had, however, is almost the way to construct the reflection using a normal to the plane. This requires only a single matrix multiplication (and much simpler one than the previous construction, to boot) and no inversion. Reflecting a vector $\mathbf v$ in a plane through the origin reverses the component $\mathbf v_\perp$ of the vector that is orthogonal to the plane. That is, $R\mathbf v=(\mathbf v-\mathbf v_\perp)-\mathbf v_\perp=\mathbf v-2\mathbf v_\perp$. This perpendicular component is just the projection of $\mathbf v$ onto a normal $\mathbf n$ of the plane and the projection of $\mathbf v$ onto $\mathbf n$ is ${\mathbf n^T\mathbf v\over\mathbf n^T\mathbf n}\mathbf n$, so $$R\mathbf v=\mathbf v-2{\mathbf n^T\mathbf v\over\mathbf n^T\mathbf n}\mathbf n=\left(I-{\mathbf n\mathbf n^T\over\mathbf n^T\mathbf n}\right)\mathbf v.$$ Note that the product in the numerator on the right is a matrix, but the denominator is a scalar. Comparing this to what you had, there are two errors in your attempt: First, and most important, you used the wrong vector. You need a normal to the plane, not a vector in the plane. Second, the expression you’ve got assumes a unit vector, but you didn’t mention normalizing either of the eigenvectors that you listed.

For the plane $x+y+z=0$, we can again take $\mathbf n=(1,1,1)^T$, giving $$\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix}-\frac23\begin{bmatrix}1\\1\\1\\\end{bmatrix}\begin{bmatrix}1&1&1\end{bmatrix}=\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix}-\frac23\begin{bmatrix}1&1&1\\1&1&1\\1&1&1\end{bmatrix} = \left[\begin{array}{rrr} \frac13&-\frac23&-\frac23 \\ -\frac23&\frac13&-\frac23 \\ -\frac23&-\frac23&\frac13 \end{array}\right].$$