2011-12-28 5 views
1

私は可変ズームlvlsで四角いエッジを検出できるようにしたいと考えています。異なるズームレベルでエッジを検出

私の正方形はmodelviewの固定位置にあり、gluLookAtを使用して拡大または縮小しています。私が最大でズームしているとき(正確には正方形の画面にフィット)、カメラを左/右/上/下に動かす必要はありませんが、ズームインしているとき(ズームレベル)には、四角のエッジが見つかるまでカメラを移動します。

マトリックスを設定するためのglFrustrumで、ズームを行うためのgluLookAtを使用します。

私のソースからのカメラの距離に対してカメラの移動領域を計算するにはどうすればよいですか?

答えて

0

モデルビュー、投影、およびビューポートマトリックスを使用して、ワールド空間からスクリーン空間への四角形の座標を投影します。次に、彼らがスクリーンスペースの外にいるそれぞれの点をチェックしてください。通過すると、カメラの移動を許可することができます。投影のサンプルコードは次のとおりです。http://www.flipcode.com/archives/Object_To_Screen_Space.shtml

関連する問題