私は駆動されたX/Y座標を保存して、座標をメートルに変換し、各点に1280を加えて(2560x2560の画像にうまく収まるように)関数を使用して、いくつかの種類のレースラインが得られます。しかし、いったんポリゴンを生成してイメージとして保存すると、それは何とか垂直に反転します。画像を垂直方向に反転すると、トラックのビットマップに完全に一致します。私はこれがDirectXの内部でY軸が反転しているためだと言われました。 DirectXで反転したY軸を使用するのはなぜですか?DirectXで反転されたY軸を使用するのはなぜですか?
0
A
答えて
5
質問:DirectXはY軸を反転しているのでしょうか、それとも画像ですか?
DirectXは、変換が適用されていない場合、X軸が右を指し、Y軸が上を指す3D/4D座標系を使用します。これは、画面(Y軸が下を指す)が画像を処理しなければならない最後のインスタンスであるためです。それ以前のすべてのステップは、上向きのY軸を持つ座標系を使用します。 Direct3Dは3D世界のために設計されているので、世界のように位置合わせされ、数学の座標系のような座標系は、プログラマや設計者にとってはるかに便利です。 3Dモデルを作成するとします。 Y軸が下向きになるようにデザインすれば、それは奇妙なことではないでしょうか?
パースペクティブなどが可能な変換がない場合、同じ座標系を使用します。 Z軸を無視すると、左上の角は(-1 | 1)、右下の角は(1、-1)です。これは、例えば、数学最後に、この座標系は、左上隅が(0 | 0)になり、右下隅が(ResolutionX | ResolutionY)になるビューポートで変換されます。
したがって、Y軸が上を向く理由は、Direct3Dの主な目的は画面の物理的属性とは独立した便利な方法で世界を記述することである。
関連する問題
- 1. Nexus Sではz軸の回転がy軸に反映されるのはなぜですか?
- 2. ハイチャートのY軸反転
- 3. X軸またはY軸に描画可能なものを反転する
- 4. Matplotlibのx軸とy軸を反転する
- 5. ウィンドウ/ビューポートを使ってQPainterのy軸を反転する
- 6. Y軸の動きをどのように反転させるのですか?
- 7. DirectXでViewトランスフォームを反転する
- 8. DirectXでXYZ軸のオブジェクトを回転させる方法は?
- 9. なぜBinaryReader.ReadUInt32()はビットパターンを反転させるのですか?
- 10. Flot y軸ラベルが軸上に表示されるのはなぜですか? JQM
- 11. Y軸の反射角度
- 12. なぜ私のY座標が逆転したのですか?
- 13. x軸とy軸の周りのポリゴンを回転する
- 14. Visibloxチャートのリニア軸を反転する
- 15. jQuery jqPlotライブラリ12時間Y軸反転問題
- 16. matplotlib graficの軸を反転
- 17. Processing.JSでは、y軸についてイメージを回転させるにはどうすればよいですか?
- 18. ほとんどの人がxnaのアップベクトルとしてy軸を使用するのはなぜですか?
- 19. 私のKISS FFTプロットで、重複したピークがy軸に反映されているのはなぜですか?
- 20. Three.JS y軸がz軸になるように投影を回転する
- 21. OpenGL Android:X軸が不思議に反転されました
- 22. MATLABのプロットの軸上でテキストを縦に反転させるにはどうすればよいですか?
- 23. ハイチャート - 左Y軸を使用する3つのシリーズと右Y軸を使用する第4シリーズ
- 24. ShowTextAtPointを使用すると、表示されたテキストが反転されます
- 25. NSRect対CGRect:y軸反転
- 26. cssを使用してdivを反転する軸を選択する
- 27. x軸のテキストをggplot2で回転させたときのy軸のラベルの配置の変更
- 28. OpenGLのX軸、Y軸、Z軸のカメラ回転をラジアンで取得しますか?
- 29. ggplot2でgeom_ribbonを使用してX軸とY軸を逆にした場合
- 30. ノードのY軸を中心にSKSpriteNodeを回転するにはどうすればよいですか?
ありがとうございました。 –
デフォルトの規約としてはこのようなものはありません。軸があなたが最も好きなところに向くようにします。 D3DXのヘルパー関数は、行列を作成するのに役立つ「右手式のorhtorgonal投影行列」のようにあります。行列はあなたの座標系を "暗示しています"。そして、頂点シェーダで行うのはあなた次第です。 –
従来のDirectX9固定機能パイプラインでは、すべてのビュー座標が左利きの行主要座標用に設定されていると仮定しました。プログラマブルなパイプラインでは、必要なコンベンションを設定するのはあなた次第ですが、コンテンツ、コード、シェーダーと一貫していなければなりません。歴史的に、DirectXはDXUTが使用する左手の行優先座標を使用します。 [DirectX Tool Kit](http://go.microsoft.com/fwlink/?LinkId=248929)のXNA Game StudioおよびSimpleMathは、右手の行優先座標を使用します。 OpenGLは歴史的に、右利きの列主体を使います。 –