物体位于3D平面的中心。我知道对象的界限。
对于3D平面,X从左到右,Y从下到上,Z从屏幕内部到外部。物体面向正Z方向。
我想将相机放在X = 0,Y = 0和Z =某处,以便相机可以从最左边到最右边,从最顶部到最底部看到整个物体,它的正面。
所以伙计们,请帮助我,Z = ......?
答案 0 :(得分:2)
设R为对象的边界球体的半径
令V为垂直视场角,0 <0。 V&lt; 90度。
令H为水平视场角,0 <0。 H&lt; 90度。
然后你需要将物体放在物体上的距离是Z = R / sin(min(V,H))。
以下是对象的完整垂直视图所需的距离Z的推导。求解Z得到Z = R / sin(V)。
对于完整水平视图所需的距离Z的类似推导给出Z = R / sin(H)。由于我们想要一个完整的垂直和水平视图,我们使用Z = max(R / sin(V),R / sin(H))= R / sin(min(V,H))。