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 に答える