1

如何计算相机位置,让指定的 3D 模型填充视口?应保持相机方向。相机是透视相机。

4

1 回答 1

5

计算模型周围的边界球。假设半径为r,中心为c。将相机目标点放在球体的中心。如果您的相机具有视野 a,您可以计算从相机到相机目标所需的距离 L。

tan(a/2) = r/L

这使

L = r/tan(a/2)

如果相机视图方向是 v 以新的相机位置开始

p = c - normalize(v)*L

这将保持相机的方向并确保整个模型可见。

请注意,如果您的视口是矩形而不是正方形,则必须使用视口较短边的 FOV。

于 2012-07-02T08:25:19.607 回答