如何计算三个js中的Perspective相机的fov?

时间:2017-09-07 15:13:39

标签: three.js

我想将cSplit(dt, "name", " / ", fixed = FALSE, drop = FALSE) ## name y name_1 name_2 name_3 ## 1: abc / efg / hij 1.0 abc efg hij ## 2: abc / abc / hij 1.2 abc abc hij ## 3: efg / efg / f/j 3.4 efg efg f/j ## 4: abd / efj / hij 5.0 abd efj hij 触摸设置为画布,我使用了这个CubeGeometry公式,但它没有成功。这个fov已经过时了。

CubeGeometry

如果我计算错误,请指导我如何克服这个问题?我想以一般化的方式设置它,所以在Perspective相机的任何位置,这个几何体都会完美地触及我的画布,这个几何体应该在画布的中心。

1 个答案:

答案 0 :(得分:0)

IMO你应该计算对角线而不是fov计算器中的高度,因为在做高度时你会专注于高度,从而切断宽度大于高度的部分....当你做对角时你的相机专注于整个矩形......所以代码imo应该是

var height = 500;
var width = 400
var distance = 1000;
var diag = Math.sqrt((height*height)+(width*width))
var fov = 2 * Math.atan((diag) / (2 * distance)) * (180 / Math.PI);
itsLeftCamera = new THREE.PerspectiveCamera(fov , width / height, 0.1, distance);