假设我们想要使用向量
注意:
在仿射变换的定义中,我们有:
我假设
v(a, b, c, w=0)
将点p(1, 2, 3, w=1)
转换为新点p'
。注意:
w=0
代表OpenGL中的向量,w=1
代表点,请纠正我如果我错了。在仿射变换的定义中,我们有:
p + v = p'
=> p(1, 2, 3, 1) + v(a, b, c, 0) = p(1 + a, 2 + b, 3 + c, 1)
=> point + vector = point (everything works as expected)
在OpenGL中,平移矩阵如下:
1 0 0 a
0 1 0 b
0 0 1 c
0 0 0 1
我假设
(a, b, c, 1)
是仿射变换定义中的向量。为什么我们要使用w=1
,而不是像w=0
一样呢?1 0 0 a
0 1 0 b
0 0 1 c
0 0 0 0