📜  2D 图形中的反射

📅  最后修改于: 2022-05-13 01:57:13.132000             🧑  作者: Mango

2D 图形中的反射

反射处理获得 2D 对象的镜像。

关于 x 轴:
如果 P(x, y) 是 xy 平面上的点,则 P'(x', y') 是 x'=x 给出的关于 x 轴的反射; y'=-y

矩阵形式:



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

关于 y 轴:
如果 P(x, y) 是 xy 平面上的点,那么 P'(x', y') 是关于 y 轴的反射,给定为 x'=-x ; y'=y

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

沿原点:
如果 P(x, y) 是 xy 平面上的点,则 P'(x', y') 是关于原点的反射,给定为 x'=-x ; y'=-y



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

关于 x=y 线:为此将 x=y 线移动到任何轴。在给定的图旋转的角度是45°的点被绘制为(0,0),(1,1),(2,2),依此类推。

将这条线顺时针 (-45 o ) 强加在我们拥有的 x 轴上,

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}

我们知道,



\cos(-\theta)=\cos\theta


\sin(-\theta)=-\sin\theta

\\R_{\theta-}=\begin{bmatrix}\cos(45)&-\sin(45)\\ \sin(45)&\cos(45)\end{bmatrix}

现在沿 x 轴执行反射,

R_x=\begin{bmatrix}1&0\\0&-1\end{bmatrix}

现在将线逆时针方向旋转45 o,

R_{\theta+}=\begin{bmatrix}\cos(45)&\sin(45)\\-\sin(45)&\cos(45)\end{bmatrix}

现在如果 P(x, y) 是 xy 平面上的点,那么 P'(x', y') 是关于 x=y 线的反射,给出为 x'=y ; y'=x
矩阵形式:



\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}

问题给定一个三角形,坐标为 p (5 4), q (2 2), r (5 6) 我们需要沿 Y 轴反射它。

Ans :我们给出了坐标 p, q, r 如图-

二维图形中的三角形反射

现在,我们应用沿 Y 轴反射二维对象的条件:

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

第一个坐标p,反射后变成p':

\begin{bmatrix}x&y\end{bmatrix}=\begin{bmatrix}-1&0\\0&1\end{bmatrix}*\begin{bmatrix}5\\4\end{bmatrix}\\\begin{bmatrix}\\x'\\y'\end{bmatrix}=\begin{bmatrix}-5\\4\end{bmatrix}

第二个坐标q,反射后变成q':

\begin{bmatrix}x&y\end{bmatrix}=\begin{bmatrix}-1&0\\0&1\end{bmatrix}*\begin{bmatrix}2\\2\end{bmatrix}\\\begin{bmatrix}\\x'\\y'\end{bmatrix}=\begin{bmatrix}-2\\2\end{bmatrix}

三角形的第三个坐标r经过反射变成了r':

\begin{bmatrix}x&y\end{bmatrix}=\begin{bmatrix}-1&0\\0&1\end{bmatrix}*\begin{bmatrix}5\\6\end{bmatrix}\\\begin{bmatrix}\\x'\\y'\end{bmatrix}=\begin{bmatrix}-5\\6\end{bmatrix}

将三角形绕Y轴点p,q,r反射后变为p',q',r':

p(5, 4) = p'(-5, 4) , q(2, 2) 
= q'(-2, 2) , r(5, 6) 
= r'(-5, 6) 

反射对象将显示为: