在透视投影计算中,w 值对于每个顶点是唯一的吗?

Is w value unique to each vertex in perspective projection calculation?

提问人:De Loris 提问时间:4/12/2023 最后编辑:Rabbid76De Loris 更新时间:4/12/2023 访问量:65

问:

enter image description here

我知道这听起来可能很奇怪,但我真的在想一个问题,即根据 x w 应该是唯一的,因为透视投影计算 w = x/d ,其中 x 代表每个顶点的位置,而 d 保持不变,因为它是从近平面(投影屏幕)到焦点的距离。W根据距离而变化。

所以每个顶点可能都有自己唯一的x值,但我不确定。倾斜变换返回顶点应该移动多远,乘以因子 w 。这就是问题所在.我不知道如何以及在哪里将这些太多的变体 w 存储在一个矩阵中,或者有很多矩阵。

数学 图形 3D

评论


答:

1赞 fana 4/12/2023 #1

可能。。。你说的是齐次坐标中的这个矩阵吗?

[   1   0   0   0 ]
[   0   1   0   0 ]
[   0   0   1   0 ]
[   0   0 1/d   0 ]

将该矩阵(从左侧)乘以向量变为 。
结果 3D 向量为 = 。
[a b x 1]^T[a b x w=x/d]^T[a/w b/w x/w]^T[a*d/x b*d/x d]^T

评论

0赞 De Loris 4/12/2023
哦。谢谢。我以为它仍然是单位矩阵格式.在这种情况下,w 被转换为 z/d 。
0赞 fana 4/12/2023
(所以,有什么事情解决了?在此公式中,值 w 本身不包含在矩阵中。对于每个顶点,w 的值仅计算为第 4 个元素。因此,可以说“我们的工作不能仅通过乘以矩阵来完成。我们必须对每个顶点进行额外的除以单独的 w 值”。