0

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

例子:

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

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

我曾尝试用谷歌搜索这样的事情,但没有成功。

修正

使用 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]
4

1 回答 1

1

尝试使用Wolfram|Alpha

您必须应用一些格式来说明您正在乘以数组,但是这样的事情应该可以产生您想要的输出:

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

如果您想让输入完全符合您的格式,您可能必须自己编写。维基百科解释了所涉及的公式

于 2013-09-20T02:11:18.260 回答