3D 空间中的反射与 2D 空间中的反射非常相似,但在 3D 中唯一的区别在于我们这里要处理三个轴。 实际上,反射就是生成物体的镜像。
在 3D 空间中,可能的反射类型有三种:
- 沿 X-Y 平面反射。
- 沿 Y-Z 平面反射。
- 沿 X-Z 平面反射。
1. 沿 X-Y 平面反射: 这如下图所示 –
!image沿 x-y 平面反射
我们可以使用反射变换矩阵来对 3D 图像执行反射操作,矩阵如下所示:
\hspace{4.5cm} \Large R_{xy} =\left[\begin{matrix}1&0&0&0\\ 0&1&0&0\\ 0&0&-1&0\\0&0&0&1\end{matrix}\right]
假设我们在 3D 空间中有一个点 P[x, y, z],我们让它沿着 X-Y 方向反射。在反射之后,P[x, y, z] 变成了 P‘[x‘ ,y‘ ,z‘]。
\hspace{4.5cm} \Large P‘[x\,\,y\,\,z\,\,1]=P[x\,\,y\,\,z\,\,1].R_{xy}
2. 沿 Y-Z 平面反射: 这如下图所示 –
!image沿 Y-Z 平面反射
关于 y-z 轴的反射变换矩阵如下所示:
\hspace{4.5cm} \Large R_{yz} =\left[\begin{matrix}-1&0&0&0\\ 0&1&0&0\\ 0&0&1&0\\0&0&0&1\end{matrix}\right]
假设我们在 3D 空间中有一个点 P[x, y, z],我们让它沿着 Y-Z 方向反射。在反射之后,P[x, y, z] 变成了 P‘[x‘ ,y‘ ,z‘]。
\hspace{4.5cm} \Large P‘[x\,\,y\,\,z\,\,1]=P[x\,\,y\,\,z\,\,1].R_{yz}
3. 沿 X-Z 平面反射: 这如下图所示 –
!image 沿 X-Z 平面反射:
关于 z-x 轴的反射变换矩阵如下所示:
\hspace{4.5cm} \Large R_{zx} =\left[\begin{matrix}1&0&0&0\\ 0&-1&0&0\\ 0&0&1&0\\0&0&0&1\end{matrix}\right]
假设我们在 3D 空间中有一个点 P[x, y, z],我们让它沿着 Z-X 方向反射。在反射之后,P[x, y, z] 变成了 P‘[x‘, y‘, z‘]。
\hspace{4.5cm} \Large P‘[x\,\,y\,\,z\,\,1]=P[x\,\,y\,\,z\,\,1].R_{zx}
让我们考虑一个如下的立方体 ‘OABCDEFG‘,并对它沿 X-Y 平面执行反射变换。
给定的立方体如下所示:
!image图 1
因此,沿 X-Y 轴进行 反射变换 的 矩阵表示 条件为:
\hspace{4.5cm} \Large R_{xy} =\left[\begin{matrix}1&0&0&0\\ 0&1&0&0\\ 0&0&-1&0\\0&0&0&1\end{matrix}\right]
点 O[0 0 0] 在执行反射变换后变为 O‘:
\hspace{4cm} \mathbf{\Large O‘[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=[0\hspace{0.2cm}0\hspace{0.2cm}0\hspace{0.2cm}\hspace{0.2cm}1]\left[\begin{matrix}1&0&0&0\\ 0&1&0&0\\ 0&0&-1&0\\0&0&0&1\end{matrix}\right]} \\ \hspace{6.68cm}\Large \mathbf{=[0\hspace{0.2cm}0\hspace{0.2cm}0\hspace{0.2cm}1]}\\ \hspace{4.37cm}\mathbf{O‘[x ,y ,z]=[0 ,0 ,0]}
点 A[0 4 0] 在执行反射变换后变为 A‘:
\hspace{4cm} \mathbf{\Large A‘[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=[0\hspace{0.2cm}4\hspace{0.2cm}0\hspace{0.2cm}\hspace{0.2cm}1]\left[\begin{matrix}1&0&0&0\\ 0&1&0&0\\ 0&0&-1&0\\0&0&0&1\end{matrix}\right]}\\ \hspace{6.68cm}\Large\mathbf{=[0\hspace{0.2cm}4\hspace{0.2cm}0\hspace{0.2cm}1]}\\ \hspace{4.37cm}\Large\mathbf{A‘[x ,y ,z]=[0 ,4 ,0]}
点 B[0 4 4] 在执行反射变换后变为 B‘:
\hspace{4cm} \mathbf{\Large B‘[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=[0\hspace{0.2cm}4\hspace{0.2cm}4\hspace{0.2cm}\hspace{0.2cm}1]\left[\begin{matrix}1&0&0&0\\ 0&1&0&0\\ 0&0&-1&0\\0&0&0&1\end{matrix}\right]}\\ \hspace{6.68cm}\Large\mathbf{=[0\hspace{0.2cm}4\hspace{0.2cm}4\hspace{0.2cm}1]}
ewline \hspace{4.37cm}\Large\mathbf{B‘[x ,y ,z]=[0 ,4 ,4]}
点 C[-4 4 0] 在执行反射变换后变为 C‘:
\hspace{4cm} \mathbf{\Large C‘[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=[4\hspace{0.2cm}4\hspace{0.2cm}0\hspace{0.2cm}\hspace{0.2cm}1]\left[\begin{matrix}1&0&0&0\\ 0&1&0&0\\ 0&0&-1&0\\0&0&0&1\end{matrix}\right]}\\ \hspace{6.68cm} \Large \mathbf{=[-4\hspace{0.2cm}4\hspace{0.2cm}0\hspace{0.2cm}1]}\\
ewline \hspace{4.37cm}\Large\mathbf{C‘[x ,y ,z]=[-4 ,4 ,0]}
点 D[4 4 4] 在执行反射变换后变为 D‘:
\hspace{4cm} \mathbf{\Large D‘[x\hspace{0.2cm}y\hspace{0.2cm}z\hspace{0.2cm}1]=[4\hspace{0.2cm}4\hspace{0.2cm}4\hspace{0.2cm}\hspace{0.2cm}1]\left[\begin{matrix}1&0&0&0\\ 0&1&0&0\\ 0&0&-1&0\\0&0&0&1\end{matrix}\right]}\\ \hspace{6.68cm}\Large \mathbf{=[-4\hspace{0.2cm}4\hspace{0.2cm}4\hspace{0.2cm}1]}\\ \hspace{4.37cm}\Large\mathbf{D‘[x ,y ,z]=[-4 ,4 ,4]}
点 E[4 0 0] 在执行反射变换后变为 E‘:
\hspace{4cm} \mathbf{\Large E‘[x\hspace{0