从非倾斜仿射正交投影矩阵围绕Z旋转

时间:2011-05-04 15:51:18

标签: matrix directx rotation direct3d projection

我似乎无法找到我认为应该是一个相当简单的问题的答案。

我正在尝试获得矩阵的z旋转,该矩阵表示正交投影的比例,变换和旋转,该投影始终朝向Z.只是围绕Z旋转。

我意识到可能没有一种解决方案可以覆盖100%的使用(非仿射,倾斜等),但我只需要一个用于此情况。

目的是在一个简单的CAD查看器中让其他东西工作(只需要将这部分放在一起)。

1 个答案:

答案 0 :(得分:0)

矩阵的第一行和第二行是侧向和向上的向量(分别)

因此假设向上矢量指向上方(没有z旋转)并且侧向量指向右侧,您可以计算出预期(即非滚动)向量与向量之间的角度有。这只是调用

的结果
float angle = acosf( DotProduct( identityUp, actualUp ) );