1

openGLを使用するアプリケーションがあり、DirectXに移植する必要があります。私の問題を要約すると、右手系の座標系に基づく回転行列を左手系の座標系に移植するにはどうすればよいですか?

これは私がMSDNで見つけたものです:

  • システムが三角形の頂点を正面から時計回りに横切るように、三角形の頂点の順序を反転します。つまり、頂点がv0、v1、v2の場合、それらをv0、v2、v1としてDirect3Dに渡します。

  • ビューマトリックスを使用して、ワールドスペースをz方向に-1でスケーリングします。これを行うには、ビューマトリックスに使用するD3DMATRIX構造体の_31、_32、_33、および_34メンバーの符号を反転します。

これは、プリミティブではないCATIAから3Dモデルを取得したため、頂点を簡単に反転できないことを除いて、正常に機能します。そのため、使用できません。

(行メジャーと列メジャーの違いを認識しています。問題ではありません)

回転行列をopenGLからDirectXに移植する方法を知っていますか?

4

1 に答える 1

2

基礎となる座標系の利き手と特定の回転変換に関して、右手の座標系での正の回転は右手の法則によって決定され、その逆も同様です。そのため、回転角度の前にある符号を反転することによって利き手が異なる 2 つの座標系がある場合は、回転行列を調整したことになります。回転行列を移植しました:)

于 2013-03-19T12:49:59.367 に答える