駆動されたX/Y座標を保存し、座標をメートルに変換する関数を使用して、各ポイントに1280を追加し(2560x2560の画像にうまく収まるように)、「ポイント」の間にポリゴンを描画します、ある種のレーシングラインになります。しかし、ポリゴンを生成して画像として保存すると、なんらかの形で垂直方向に反転します。画像を垂直方向に反転すると、トラックのビットマップと完全に一致します。これは、DirectXの内部でY軸が反転しているためだと言われました。DirectXが反転したY軸を使用するのはなぜですか?
1 に答える
問題は、DirectX の Y 軸が反転しているのか、それともイメージが反転しているのかということです。
DirectX は 3D/4D 座標系を使用します。変換が適用されていない場合、X 軸は右を指し、Y 軸は上を指します。これは、画面 (Y 軸が下を向いている場所) が画像を処理する必要がある最後のインスタンスであるためです。その前のすべてのステップでは、Y 軸が上向きの座標系が使用されます。Direct3D は 3D ワールド用に設計されているため、世界や数学のほとんどの座標系と同様に配置された座標系は、プログラマーやデザイナーにとってはるかに便利です。3D モデルを作成するとします。Y軸が下を向くように設計すると、ちょっとおかしくないですか?
遠近法などを可能にする変換がまったくない場合、同じ座標系があります。Z 軸を無視すると、左上隅が (-1 | 1)、右下隅が (1, -1) になります。これは、数学などで使用される座標系と同じです。最後に、この座標系はビューポートで変換され、左上隅が (0 | 0) になり、右下隅が (ResolutionX | ResolutionY) になります。
全体として、Y 軸が上を向いている理由は、Direct3D の主な目的が、画面の物理的属性とは無関係に便利な方法で世界を記述することだからです。