Skip to content

Commit 99f93eb

Browse files
committed
more about note3
1 parent 3adec8d commit 99f93eb

File tree

3 files changed

+33
-7
lines changed

3 files changed

+33
-7
lines changed

Notes3.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,12 @@ PS 关于齐次坐标向量和点的区别
4747

4848
在齐次坐标中, 对于点新增的维度值是 1. 而对于向量, 新增的维度值是0
4949

50-
为什么要这么设定呢?
50+
### 为什么要这么设定呢?
5151
向量平移要满足不变性, 也就是说一个向量(x, y) 在平移后, 仍然是(x, y)
5252

53-
所以, 向量新增的维度应该是0
53+
所以, 向量新增的维度应该是0 我们把平移矩阵作用在这个新增了一个维度的向量之后发现, 果然结果仍是(x, y, 0)
5454

55-
并且, 根据 point - point = vector 二维向量的新增的这个维度也恰好是0.
55+
并且, 根据 point - point = vector 向量的新增的这个维度也恰好是0.
5656

5757
也就是说, 齐次坐标新增的这个维度, 不影响现有的向量计算.
5858

Notes4.md

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,11 +110,17 @@ Projection is a Transformation. 投影是一种变换.
110110

111111
实际上一般是这么操作:
112112

113+
![image](https://raw.githubusercontent.com/lumixraku/NotesForGraphics/master/images/project7.jpg)
114+
113115
先确定视野范围(图中的矩形空间) 然后标准化( 规则观察体 )
114116

115-
![image](https://raw.githubusercontent.com/lumixraku/NotesForGraphics/master/images/project.jpg)
116117

117-
平移到原点 再缩放到标准立方体 (视锥体xyz 都缩放到 [-1, 1] 的范围)
118+
所以得到的矩阵变换如下
119+
120+
1. 平移到原点
121+
2. 再缩放到标准立方体 (视锥体xyz 都缩放到 [-1, 1] 的范围)
122+
123+
![image](https://raw.githubusercontent.com/lumixraku/NotesForGraphics/master/images/project.jpg)
118124

119125

120126
### 透视投影
@@ -142,16 +148,36 @@ PS: 我们只知道近平面和远平面 z 值不变, 中间z 是否变不确
142148
![image](https://raw.githubusercontent.com/lumixraku/NotesForGraphics/master/images/project8.jpg)
143149

144150

151+
152+
根据相似三角形, 已经可以推出部分矩阵了
153+
145154
![image](https://raw.githubusercontent.com/lumixraku/NotesForGraphics/master/images/project9.jpg)
146155

156+
现在只剩第三行不知道了
157+
158+
根据近平面的点变换之后不会变, 也就是(x, y, n, 1) => (x, y, n, 1). 另外根据其次坐标变换一种表达形式 (nx, ny, n^2, n)
147159

160+
就可以得到第三行应该是 (0, 0, A, B) 的形式.
161+
(因为得到的结果是 n^2 也就是 xy 的部分都是0 )
148162
![image](https://raw.githubusercontent.com/lumixraku/NotesForGraphics/master/images/project2.jpg)
149163

164+
PS: 注意这里最后 (0,0, A, B)那一块是简写 只写了透视矩阵的第三行 最后的 n^2 是说透视 矩阵✖️ (x, y, z, 1) 得到的第三行的值
165+
166+
另外再根据变换后远平面的 z 值不改变, 就可以得到一个方程组.
167+
![image](https://raw.githubusercontent.com/lumixraku/NotesForGraphics/master/images/project3.jpg)
150168

151-
PS: 注意这里最后 (0,0, A, B)那一块是简写 只写了透视矩阵的第三行 最后n^2 也是说透视 矩阵✖️ (x, y, z, 1) 得到的第三行的值
169+
那么透视投影矩阵就是
170+
```
171+
n 0 0 0
172+
0 n 0 0
173+
0 0 n+f -nf
174+
0 0 1 0
175+
```
176+
177+
## 另外最后课程中提到了一个问题
178+
经过这个变换之后 两个面中间的 z 会怎么改变? 是更偏向 n 还是更偏向 f
152179

153180

154-
![image](https://raw.githubusercontent.com/lumixraku/NotesForGraphics/master/images/project3.jpg)
155181

156182
## Read More
157183

images/project7.jpg

51.9 KB
Loading

0 commit comments

Comments
 (0)