1
0
mirror of https://github.com/LearnOpenGL-CN/LearnOpenGL-CN.git synced 2025-08-23 04:35:28 +08:00
This commit is contained in:
Meow J
2016-08-21 13:09:14 +08:00
parent 971b21aec5
commit d230badd39

View File

@@ -280,13 +280,13 @@ $$
<def>位移</def>(Translation)是在原始向量的基础上加上另一个向量从而获得一个在不同位置的新向量的过程,从而在位移向量基础上**移动**了原始向量。我们已经讨论了向量加法,所以这应该不会太陌生。
和缩放矩阵一样在4×4矩阵上有几个特别的位置用来执行特定的操作对于位移来说它们是第四列最上面的3个值。如果我们把缩放向量表示为\((\color{red}{T_x},\color{green}{T_y},\color{blue}{T_z})\)我们就能把位移矩阵定义为:
和缩放矩阵一样在4×4矩阵上有几个特别的位置用来执行特定的操作对于位移来说它们是第四列最上面的3个值。如果我们把位移向量表示为\((\color{red}{T_x},\color{green}{T_y},\color{blue}{T_z})\)我们就能把位移矩阵定义为:
$$
\begin{bmatrix} \color{red}1 & \color{red}0 & \color{red}0 & \color{red}{T_x} \\ \color{green}0 & \color{green}1 & \color{green}0 & \color{green}{T_y} \\ \color{blue}0 & \color{blue}0 & \color{blue}1 & \color{blue}{T_z} \\ \color{purple}0 & \color{purple}0 & \color{purple}0 & \color{purple}1 \end{bmatrix} \cdot \begin{pmatrix} x \\ y \\ z \\ 1 \end{pmatrix} = \begin{pmatrix} x + \color{red}{T_x} \\ y + \color{green}{T_y} \\ z + \color{blue}{T_z} \\ 1 \end{pmatrix}
$$
这样是能工作的,因为所有的位移值都要乘以向量的**w**所以位移值会加到向量的原始值上想想矩阵乘法法则。而如果你用3x3矩阵我们的位移值就没地方放也没地方乘了所以是不行的。
这样是能工作的,因为所有的位移值都要乘以向量的**w**所以位移值会加到向量的原始值上想想矩阵乘法法则。而如果你用3x3矩阵我们的位移值就没地方放也没地方乘了所以是不行的。
!!! Important