【发布时间】:2013-12-02 07:13:49
【问题描述】:
在 Three.js 中,我使用这个公式来计算可见宽度和高度
var vFOV = camera.fov * Math.PI / 180; // convert vertical fov to radians
var height = 2 * Math.tan( vFOV / 2 ) * dist; // visible height
var aspect = window.width / window.height;
var width = height * aspect; // visible width
然后我计算出物体所需的相机变焦,以按宽度完全适合渲染区域
var zoom = (ObjectHeight/aspect) / (2*Math.tan(vFOV/2)) + ObjectDepth;
如何计算物体所需的相机缩放比例,以按高度完全适合渲染区域?
感谢 GuyGood,我找到了解决方案:
var zoom = (ObjectHeight/2) / Math.tan(vFOV/2) - ObjectDepth;
【问题讨论】:
-
stackoverflow.com/questions/15331358/… 的重复如果你知道
dist,那么你求解vFov。 -
我知道 dist ,我知道 vFov。我需要变焦 (camera.position.z)
-
我们怎样才能为正交相机做到这一点,因为它们没有 fov 参数。
标签: javascript 3d three.js