2012-03-02 5 views
0

translate()関数を使用して、参照フレームに対して相対的にxとyの距離を変換することができます。処理中に、どのようにしてワールド空間の最終座標に変換できますか?

ワールド空間の絶対座標に変換する機能はありますか?たとえば、あなたの参照フレームが以前に翻訳された場所に関係なく、ウィンドウに対して座標(20,30)に変換できますか?

答えて

0

コードで初めてtranslateを使用すると、実際には座標系全体が翻訳されています。次の変換に影響を与えることなく独立して(位置なしで)オブジェクトを描画する場合は、pushMatrix()/popMatrix()の呼び出し内でそれを分離する必要があります。ここ

は、Vの基本例:

pushMatrix(); 
translate(50,50); 
rect(0,0,50,50); 
popMatrix(); 

translate(20,20); 
rect(0,0,20,20); 

大きな広場(50×50)が位置50,50で最初に描画されますが、翻訳はpushMatrix()/popMatrix()呼び出しの間で分離され、我々は翻訳translate(20,20)を呼び出すときにそうなります50、50からではなく、0,0から実行されます。これは、70,70ではなく、20,20で描画された小さなボックスを取得することを意味します。

+0

ありがとう、私はちょうど座標系を追跡するために行列スタックを押す/ポップします。 – dangerChihuahua007

関連する問題