2011-10-23 3 views
0

私は正射投影を持つC++/OpenGl/Glutアプリケーションを持っています。"Point"を正規化してください

ウィンドウの幅は500 x 500ピクセルです。現在、マウスクリックが発生すると、ポイントは(0,0)と(500,500)の間になります。

私はその点を取って(0,0)と(0,1)(正規化)の間に変換したい、あるいはglutMouseFunc()に範囲[ 0,1]である。これは可能ですか?または、xとyの値を一度に1つずつ正規化された値に変換する、より数学的な方法を検討する必要がありますか?

+2

ウィンドウサイズを取得してマウスコードで分割すると何が問題になりますか? – fazo

+2

@fazoそれ以外の方法はありますか? – jrok

+0

@fazo:いいですよ!あなたは正式に質問に答えるつもりですか?私はあなたの答えを受け入れることができますか? – Josh

答えて

0

ウィンドウサイズを取り、マウス座標で割ります。

4

座標をウィンドウサイズで分けるだけです。ウィンドウのサイズを常に最新の状態に保つようにしてください(つまり、サイズ変更イベントをフックします)。これはコストがゼロで、プロファイルに表示される方法はありません。

関連する問題