2012-10-03 54 views
0

我在3D场景节点层次结构内部有一个广告牌。该广告牌继承了应用于父节点的所有3D转换。3D 4x4矩阵的无效旋转

我希望广告牌始终“面向相机”(=具有零导出旋转向量)。问题是它的派生矩阵是只读的,所以我不能直接操纵它来取消旋转(as proposed in another case)。

可以做的是操纵其局部矩阵,使最终得到的矩阵符合我的要求。

有没有一个公式来实现这个?

+0

你想反转一个4x4矩阵? – Beta

+0

不,让我改述一下:我有一个3D节点的4x4派生变换矩阵。我需要找到一种方法来改变节点的LOCAL变换矩阵,以便新的导出矩阵将具有零旋转。 –

+0

你有一个4x4矩阵,称之为** A **。你想找到另一个4×4矩阵,称之为** B **,使得** A ** ** ** B ** = ** I **,单位矩阵? – Beta

回答

0

只要你不使用矩阵的均匀部分,你总是可以做到这一点。 A * B + B * A = C,其中B = {0,0,0,0; ​​0,0,0,0; ​​0,0,0,0; ​​0,0,0,1}其中,

这应该给你C = {0,0,0,s; 0,0,0,S; 0,0,0,S; x,y,z,2 * w}其中s是缩放值,并且这是列导向的,意味着{1,2,3,4; 1,2,3,4}将是4×2矩阵(4行两列)。

希望这会有所帮助。