所以我有一个旋转的物体然后再翻译和旋转。我将这些翻译的矩阵存储为对象成员。现在当我来对象挑选时,我需要知道这个物体的3D世界坐标。
目前我已经能够像这样获得对象的位置
coords[0] = finalMatrix[12];
coords[1] = finalMatrix[13];
coords[2] = finalMatrix[14];
这给了我正确的物体位置,但我也想考虑旋转。
任何帮助都会很棒......
答案 0 :(得分:2)
矩阵是一个4x4矩阵,但是由于你只有一个单维矩阵,所以元素的排列如下:
[0] [4] [8] [12]
[1] [5] [9] [13]
[2] [6] [10] [14]
[3] [7] [11] [15]
旋转部分是左上角3x3矩阵see here,因此在您的情况下,它将是元素[0]-[2]
,[4]-[6]
和[8]-[10]
答案 1 :(得分:2)
http://www.euclideanspace.com/maths/geometry/affine/matrix4x4/index.htm - 以下是4x4矩阵如何工作的解释。第一个次要3x3 - 是一个旋转矩阵。除最后一个元素之外的最后一列是翻译向量。元素[4,4]是比例因子。在链接中了解更多相关信息
答案 2 :(得分:2)
所以我是个白痴......我首先把它弄好了。我需要的只是[12] [13] [14]中的位置数据。我的代码中有一些愚蠢的错误,其中一个在我的光线交叉点上没有足够的迭代...所有排序现在大声笑我自己踢...哈哈谢谢无论如何男人们!