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

关于基础坐标系的手性和给定的旋转变换,右手坐标系中的正旋转由右手法则确定,反之亦然。因此,如果您通过翻转旋转角度前面的符号来获得两个具有不同惯用手的坐标系,则您已经调整了旋转矩阵。你已经移植了你的旋转矩阵:)

于 2013-03-19T12:49:59.367 回答