0

我读到的关于投影矩阵的几乎所有理论资料都有第一个元素2n/(r-l),但我见过的大多数开源实现都有它2n/((t-b)*a),一开始对我来说很有意义,因为(r-l)应该是((t-b)*a),但是当我实际运行数字,感觉有些不对劲。

如果我们有 65 度的垂直视野、0.1 的近平面和 4:3 的纵横比,那么我似乎得到:

2n/(r-l) = .2 / (tan(65*(4/3)*.5) * .2) = 1.0599

2n((t-b)*a) = .2 / (tan(65*.5) * (4/3) * .2) = 1.1773

为什么我阅读的所有内容与我看到的所有内容之间存在差异?直到我开始实现相同的分析逆时我才注意到,我看到它的第一个元素是 (rl)/2n,这不是这些其他实现的逆。

4

1 回答 1

1

您不能将纵横比乘以角度。切线不是线性函数。拥有 65 度的垂直视野并不意味着您将拥有 86.67 度的水平 FOV 和 4:3 的纵横比,而是约 80.69 度。

于 2013-12-28T23:36:17.570 回答