Trong bộ công cụ đồ họa máy tính python, có mộtvec3loại được sử dụng để biểu diễn một vectơ ba thành phần, nhưng làm cách nào để thực hiện phép nhân sau:
Vectơ ba thành phần được nhân với chuyển vị của nó để thu được ma trận 3*3, như trong ví dụ sau:
a = vec3(1,1,1)
ma trận_m = a * a.transpose()
Có ai biết thư viện nào có thể xử lý phép nhân ma trận 1*3 chiều với ma trận 3*1 chiều khác và nhận được ma trận 3*3 không.
Xin lỗi, tôi phải làm rõ điều này hơn. Tôi đang nói về toán ma trận. Giống:
[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]
Có lẽ tôi có thể thử tự mình viết một hàm, nó rất đơn giản ...
Một số phần mềm toán học vectơ, như MATLAB, có thể theo dõi các vectơ cột và vectơ hàng dưới dạng các loại sự vật khác nhau. Numpy của Python thì không, nhưng cung cấp numpy.outer(A,B). Thật không may, bộ đồ họa (tôi cho rằng bạn đang đề cập đến http://cgkit.sourceforge.net/ ) không theo dõi các hàng và cột, sử dụng numpy (sẽ là một sát thủ lớn) hoặc cung cấp vector x vector --> sản phẩm bên ngoài ma trận. Có vẻ như bạn phải viết chức năng của riêng mình để thực hiện việc này.
Tôi là một lập trình viên xuất sắc, rất giỏi!