左手座標系と右手座標系


7

Blenderや他の3Dモデリングツールでは座標系は右利きですが、Unity 3DおよびOrbiter Space Flight Simulatorでは左利きですが、なぜこれが起こるのでしょうか?なぜ単純なものにするために常に右手座標系を使用しないのですか?3Dグラフィックスを扱うすべてのプログラムがZ +を使っているわけではないのはなぜですか?

 Y         |  Z
 ZX        |  YX
RIGHT-HAND | LEFT-HAND
TOP VIEW   | TOP VIEW

(幸い、Unity3DはBlender座標系からUnity3D座標系に変換します)

回答:


10

それは単なる伝統です。どちらのシステムも他のシステムよりも客観的に優れているわけではないので、両方を使用して、時々それらを切り替えることに慣れる必要があります!

右手座標は、XY平面が水平であり、Z軸が垂直であると想定するモデリングの伝統的なものです。

左手座標は、XY平面が垂直であると想像するカメラの従来型であり(カメラが直立している場合は画面座標に対応)、Z軸は画面内にあります(ZバッファーのZに対応)。 。

そのため、Blenderのようなモデリングアプリケーションはしばしば右手座標を使用し、Unityのようなゲーム開発ツールキットはしばしば左手座標を使用します。しかし、一部のシステムは逆の方向に進みます。RenderManは左利きで、OpenGLは右利きです(または、少なくとも初期のバージョンはそうでしたが、今ではかなり不可知論です)。


利き手が異なるもう1つの理由は、2次元のY軸の方向に関する慣例が異なるためです。コンピュータのディスプレイが陰極線管を使用した遠い時代に、ディスプレイは電子ビームによって上から下、左から右にスキャンされました。そのため、座標の原点を左上にして、Y軸を画面に沿って動かすと便利でした。一方、数学では、Y軸が上を指し、座標の原点が左下になるのが一般的です。Z軸を追加すると、これらの規則により、利き手が異なる3次元座標系が生じます。


ブラウン管から遠い日?それほど遠くない:)
ashes999

2

単純な答えです。特定の慣習に従うことについての厳密なルールはないからです。

アプリケーションの新しい座標系を作成することもできます。そして、それを使用する人々は、新しいことに慣れる必要があります。質問なし。


0

左利きまたは右利きのどちらも客観的に他より優れているわけではなく、同様に、どの軸を「上」にする必要があるかの選択は、他よりも客観的に優れています。異なるアプリケーションには異なる要件があり、それらに対しては、1つの特定の選択の方が理想的です。しかし、それは一般的には当てはまりません。

また、座標系間の変換も簡単です。


「まっすぐ」ですか?クォータニオンベースのアニメーションデータを、右利きのモデリングツールから、すべてが左利きのスペースにあるエンジンに変換する必要があった人はいないでしょう。
MrCranky、2011

1
私は、さらに悪いことに、「簡単」とは言いませんでした。変換変換(アニメーションデータなど)は、別の行列変換に減らすことができます。どの特定の変換が適切であるかを導出することは、少し注意が必要です。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.