Reflection In 2D Graphics

Reflection deals with obtaining a mirror image of the 2D object.

About x-axis:
If P(x, y) is the point on x-y plane then P’(x’, y’) is the reflection about x-axis given as x’=x ; y’=-y

Matrix Form:

\begin{bmatrix}x'&y'\end{bmatrix}=\begin{bmatrix}x&y\end{bmatrix}+\begin{bmatrix}1&0\\0&-1\end{bmatrix} \\P'=P.R_x



About y-axis :
If P(x, y) is the point on x-y plane then P’(x’, y’) is the reflection about y-axis given as x’=-x ; y’=y

\begin{bmatrix}x'&y'\end{bmatrix}=\begin{bmatrix}x&y\end{bmatrix}+\begin{bmatrix}-1&0\\0&1\end{bmatrix} \\P'=P.R_y

Along origin :
If P(x, y) is the point on x-y plane then P’(x’, y’) is the reflection about origin given as x’=-x ; y’=-y

\begin{bmatrix}x'&y'\end{bmatrix}=\begin{bmatrix}x&y\end{bmatrix}+\begin{bmatrix}-1&0\\0&-1\end{bmatrix} \\P'=P.R_{xy}

About x=y line : To do this move x=y line to any of the axis. In the given diagram the angle of rotation is 45o as the points are plotted as (0, 0), (1, 1), (2, 2), and so on.

Imposing the line clockwise (-45o) imposing it on the x-axis we have,
R_{\theta-}=\begin{bmatrix}\cos\theta&\sin\theta\\-\sin\theta&\cos\theta\end{bmatrix}=\begin{bmatrix}\cos(-45)&\sin(-45)\\-\sin(-45)&\cos(-45)\end{bmatrix}
We know,
\cos(-\theta)=\cos\theta
and
\sin(-\theta)=-\sin\theta
\\R_{\theta-}=\begin{bmatrix}\cos(45)&-\sin(45)\\ \sin(45)&\cos(45)\end{bmatrix}
Now perform reflection along x-axis,
R_x=\begin{bmatrix}1&0\\0&-1\end{bmatrix}
Now rotate the line back 45o in an anticlockwise direction,
R_{\theta+}=\begin{bmatrix}\cos(45)&\sin(45)\\-\sin(45)&\cos(45)\end{bmatrix}
Now if P(x, y) is the point on x-y plane then P’(x’, y’) is the reflection about x=y line given as x’=y ; y’=x 
Matrix Form:
\begin{bmatrix}x'&y'\end{bmatrix}=\begin{bmatrix}x&y\end{bmatrix}.\begin{bmatrix}R_{\theta-}\end{bmatrix}.\begin{bmatrix}R_x\end{bmatrix}.\begin{bmatrix}R_{\theta+}\end{bmatrix} \\\begin{bmatrix}x'&y'\end{bmatrix}=\begin{bmatrix}x&y\end{bmatrix}\begin{bmatrix}1&0\\0&-1\end{bmatrix}




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :
Practice Tags :


1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.