如何从投影矩阵中提取相机参数
How to extract camera parameters from Projection matrix
我有一个带有特定投影矩阵的透视相机,我只想从中提取流、近平面和远平面。
我知道 Three.js 中有一个函数:
.updateProjectionMatrix()
它根据上面列出的参数创建一个投影矩阵,基本上我想要相反的过程。
我用这 3 个公式解决了:
fov = 2 * atan(1/camera.projectionMatrix.elements[5]) * 180 / PI;
附近 = camera.projectionMatrix.elements[14] / (camera.projectionMatrix.elements[10] - 1.0);
far = camera.projectionMatrix.elements[14] / (camera.projectionMatrix.elements[10] + 1.0);
来源:
Decompose the OpenGL projection matrix
我有一个带有特定投影矩阵的透视相机,我只想从中提取流、近平面和远平面。 我知道 Three.js 中有一个函数:
.updateProjectionMatrix()
它根据上面列出的参数创建一个投影矩阵,基本上我想要相反的过程。
我用这 3 个公式解决了:
fov = 2 * atan(1/camera.projectionMatrix.elements[5]) * 180 / PI;
附近 = camera.projectionMatrix.elements[14] / (camera.projectionMatrix.elements[10] - 1.0);
far = camera.projectionMatrix.elements[14] / (camera.projectionMatrix.elements[10] + 1.0);
来源:
Decompose the OpenGL projection matrix