1
0
mirror of https://github.com/LearnOpenGL-CN/LearnOpenGL-CN.git synced 2025-08-23 12:45:29 +08:00

rewrite 04-11

This commit is contained in:
Meow J
2018-02-19 22:26:11 -05:00
parent 054ddde666
commit 8ed6129046
3 changed files with 80 additions and 66 deletions

View File

@@ -266,7 +266,7 @@ $$
![](../img/01/07/vectors_scale.png)
记住OpenGL通常是在3D空间进行操作的对于2D的情况我们可以把z轴缩放1倍这样z轴的值就不变了。我们刚刚的缩放操作是<def>不均匀(Non-uniform)<def>缩放,因为每个轴的缩放因子(Scaling Factor)都不一样。如果每个轴的缩放因子都一样那么就叫<def>均匀缩放</def>(Uniform Scale)。
记住OpenGL通常是在3D空间进行操作的对于2D的情况我们可以把z轴缩放1倍这样z轴的值就不变了。我们刚刚的缩放操作是<def>不均匀(Non-uniform)</def>缩放,因为每个轴的缩放因子(Scaling Factor)都不一样。如果每个轴的缩放因子都一样那么就叫<def>均匀缩放</def>(Uniform Scale)。
我们下面会构造一个变换矩阵来为我们提供缩放功能。我们从单位矩阵了解到每个对角线元素会分别与向量的对应元素相乘。如果我们把1变为3会怎样这样子的话我们就把向量的每个元素乘以3了这事实上就把向量缩放3倍。如果我们把缩放变量表示为\((\color{red}{S_1}, \color{green}{S_2}, \color{blue}{S_3})\)我们可以为任意向量\((x,y,z)\)定义一个缩放矩阵: