1
如何計算相機位置,以便指定的3D模型填充視口?照相機方向應該保持。相機是一個透視相機。如何計算相機位置,以便指定的3D模型填充視口?
如何計算相機位置,以便指定的3D模型填充視口?照相機方向應該保持。相機是一個透視相機。如何計算相機位置,以便指定的3D模型填充視口?
計算模型周圍的邊界球。假設半徑是r,中心是c。將相機目標點放在球體的中心。如果您的相機具有視野a,則可以計算從相機到相機目標的所需距離L.
tan(a/2) = r/L
其中給出
L = r/tan(a/2)
如果攝像機觀察方向呈V與新的相機位置開始將
p = c - normalize(v)*L
這將保持相機的方向,並確保整個模型是可見的。
請注意,如果您的視口是長方形而不是方形,則必須使用F.O.V.從視口的較短一側開始。