2013-03-25 97 views
0

我有一系列转换将我的对象放在其他地方。我手动为GL/ES中的可编程管道乘以这些转换。我绕着遥远的任意点旋转,并且还在翻译,虽然我没有任何困难让我的对象最终定位在我想要的位置,但我想知道如何在这些位置之后提取其位置的最终3D矢量坐标转换。获取矢量坐标后矩阵乘法

this question建议的一个选项是简单地将您的起始位置乘以最终矩阵,并将该结果向量保留为最终坐标。如果是这样,那么在这些转换之前我用什么向量表示我的对象的原点?因为将矩阵乘以我的原点(0,0,0)只会产生一个零向量。

回答

0

该解决方案非常简单。

如果我有一个矩阵M这是所有的矩阵乘法创建的最终转型,那么我就可以通过简单地找到M转化对象的中心:

M * vector(0,0,0,1) // creates a 4D vector, where the first three, x,y,z are the coordinates 

这是很容易done manually在码。

问题缺失的关键部分是用于该乘法的确切向量。

+0

其结果只是矩阵的第4列... – JasonD 2013-03-25 10:00:11

+0

没错!感谢您指出了这一点。或者如果使用行向量和行主定向,则矩阵的第4行。 – johnbakers 2013-03-25 10:04:22