OpenGL矩阵乘法器工具

时间:2013-09-20 01:04:50

标签: opengl matrix-multiplication

假设我在16个元素数组中有2个矩阵。有没有人知道一个在线实用程序,它允许我以该格式复制和粘贴数组并取回产品。

示例:

GLfloat m1[16] = {v0, v1, v2, v3, v4, ..., v15};
GLfloat m2[16] = {v0, v1, v2, v3, v4, ..., v15};

Magic Web Page:
m1 * m2 = {v0, v1, v2, v3, v4, ..., v15}; //这可以在任何视觉输出中。

我曾尝试谷歌这样做,但没有成功。

AMEND

使用GNU Octave / Qt Octave我得到了

proj =

   1.81066   0.00000   0.00000   0.00000
   0.00000   2.41421   0.00000   0.00000
   0.00000   0.00000  -1.00000  -0.00000
   0.00000   0.00000  -1.00000   0.00000

>>> view = [1, -0, 0, -0; 0, 1, 0, -0; -0, -0, 1, -2; 0, 0, 0, 1]
view =

   1  -0   0  -0
   0   1   0  -0
  -0  -0   1  -2
   0   0   0   1

>>> model = [1, 0, 0, 0; 0, 1, 0, 0; 0, 0, 1, 0; 0, 0, 0, 1]
model =

   1   0   0   0
   0   1   0   0
   0   0   1   0
   0   0   0   1

>>> tmp= [1.81066, 0, 0, 0; 0, 2.41421, 0, 0; 0, 0, -1, 2; 0, 0, -1, 2]
tmp =

   1.81066   0.00000   0.00000   0.00000
   0.00000   2.41421   0.00000   0.00000
   0.00000   0.00000  -1.00000   2.00000
   0.00000   0.00000  -1.00000   2.00000

>>> proj * view * model
ans =

   1.81066   0.00000   0.00000   0.00000
   0.00000   2.41421   0.00000   0.00000
   0.00000   0.00000  -1.00000   2.00000
   0.00000   0.00000  -1.00000   2.00000

>>>

使用时:

proj = [1.81066, 0, 0, 0; 0, 2.41421, 0, 0; 0, 0, -1, -0; 0, 0, -1, 0]
view = [1, -0, 0, -0; 0, 1, 0, -0; -0, -0, 1, -2; 0, 0, 0, 1]
model = [1, 0, 0, 0; 0, 1, 0, 0; 0, 0, 1, 0; 0, 0, 0, 1]
tmp= [1.81066, 0, 0, 0; 0, 2.41421, 0, 0; 0, 0, -1, 2; 0, 0, -1, 2]

1 个答案:

答案 0 :(得分:1)

尝试使用Wolfram|Alpha

你必须应用一些格式来表示你正在乘以数组,但这样的东西应该可以产生你想要的输出:

{{0, 1}, {2, 3}} * {{1, 2},{3,4}}

如果您希望输入的格式与您拥有的格式完全相同,则可能需要自己编写。维基百科解释了formula involved