在项目中遇到这样一个问题:已知摄像机垂直方向的FOV为FOVY
,摄像机与近裁剪平面的距离为n
,裁剪平面的宽高比为aspect
,求摄像机水平方向的FOVFOVX
。
设近裁剪平面窗口的宽度为w
,高度为h
,则:
tan(FOVY / 2) = h / (2n);
tan(FOVX / 2) = w / (2n) = aspect * h / (2n) = aspect * tan(FOVY / 2);
于是可以求出FOVX
:
FOVX = 2 * atan(aspect * tan(FOVY /