求解两个4d向量的叉积

问题描述 投票:0回答:1

我想计算x和向量y的叉积,而没有numpy或任何输入。x =向量(1,2,1,0)y =向量(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
python python-3.x math 3d
1个回答
0
投票

解决Vec4上的叉形与解决Vec3上的叉形相同,因为无论如何使用w分量,您都在3维上。

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

crossX = vector1.Y * vector2.Z - vector2.Y * vector1.Z
crossY = -(vector1.X * vector2.Z - vector2.X * vector1.Z)
crossZ = vector1.X * vector2.Y - vector2.X * vector1.Y
© www.soinside.com 2019 - 2024. All rights reserved.