我正在编写FBX阅读器,并且照相机给了我FocalLength(从照相机到兴趣点的距离)。
在opengl中,我使用“视场”(视场角)初始化视口。
[在网上进行了一些研究之后,我在几个地方看到了这个公式:
但是,此公式的结果给了我很小的价值。PD:我以为可能是弧度,但是将其从弧度转换为度数却太大了。
但是该公式无效。我在这里做错了吗?
FOV = ANGLE *((float)Math.PI / 180f);
[有一个角度值给出了度数,例如,如果您使用35毫米的相机,则需要给出FOV的度数63。所以ANGLE等于63
这里是摄像机视角的主要角度:
超远摄600毫米-400毫米->角度= 4或5或6
远摄300毫米-100毫米->角度= 8或12或18或24
中焦距85毫米-80毫米->角度= 28或30
正常70毫米-〜42毫米->->角度= 34或46或52
[大角度〜40毫米-23.2毫米->角度=角[60..83]] >>
[极端广角24毫米-14毫米->角度=范围[84..114]] >>
如果您在14毫米以下,则为超广角->角度=范围[115..178]
鱼眼〜8毫米->角度=范围[178..179]
CreatePerspectiveFieldOfView(FOV,m_AspectRatio,0.1f,100.0f);
简而言之。