python vector * vector ------>矩阵

时间:2013-04-13 15:51:51

标签: python graphics

在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]

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

1 个答案:

答案 0 :(得分:1)

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