1

在python计算机图形工具包中,有一个用于表示三分量向量的vec3类型,但是我该如何做以下乘法:

三分量向量乘以其转置结果为 3*3 矩阵,如下例所示:

a = vec3(1,1,1)
matrix_m = a * a.transpose()

任何人都知道这样一个库,它可以处理将一个维度为 1*3 的矩阵乘以另一个维度为 3*1 的矩阵并产生一个 3*3 的矩阵。

对不起,我必须澄清一点。我说的是矩阵数学。它像是:

[a0, a1, a2]*[a0, a1, a2]T = [a0*a0, a0*a1, a0*a2; a1*a0, a1*a1, a1*a2;a2*a0, a2*a1, a2*a2]

也许我可以尝试自己写一个函数,它是如此简单......

4

1 回答 1

1

一些向量数学软件,例如 MATLAB,很乐意将列向量和行向量作为不同类型的事物进行跟踪。Python 的 Numpy 没有,但确实提供了 numpy.outer(A,B)。不幸的是,图形工具包(我假设您参考http://cgkit.sourceforge.net/)不跟踪行与列,使用 numpy(这将是巨大的矫枉过正),或提供向量 x 向量 --> 矩阵外产品。看起来您必须编写自己的函数才能做到这一点。

于 2013-04-13T16:49:19.930 回答