在同构坐标(x,y,z,w)中求解两个3D向量的叉积

时间:2020-05-09 11:51:19

标签: python python-3.x math 3d

我想计算x与向量y的叉积,而没有numpy或任何导入。

x = Vector(1,2,1,0)  
y = Vector(0,1,2,1)

但是我的结果总是错误的。我在这里想念什么?

def crossproduct(x, y):
        final = Vector()
        final.v[0] = y.v[1] * v.v[2] - x.v[2] * y.v[1]
        final.v[1] = y.v[2] * v.v[3] - x.v[3] * y.v[2]
        final.v[2] = y.v[3] * v.v[0] - x.v[0] * y.v[3] 
        final.v[3] = y.v[0] * v.v[1] - x.v[1] * y.v[0]
        return final

1 个答案:

答案 0 :(得分:1)

解决Vec4上的叉(均匀)与解决Vec3(笛卡尔)上的叉一样,因为无论如何使用{{1} }组件。

检查您的交叉公式,我通常使用的公式如下:

w