Python中两个向量的交叉产物

blu*_*959 18 python

如何在不使用编程库的情况下计算两个向量的叉积?

例如给定的向量a = (1, 2, 3)b = (4, 5, 6)

And*_*ffe 42

你在问交叉产品的配方吗?或者如何在python中做索引和列表?

基本思想是你将a和b的元素作为[0],a [1],a [2]等(对于x,y,z)访问,并使用[element_0创建一个新列表, element_1,...].我们也可以将它包装在一个函数中.

在矢量方面,叉积是元素的反对称乘积,它也具有很好的几何解释.

无论如何,最好给你提示并让你搞清楚,但那不是真正的SO方式,所以...

def cross(a, b):
    c = [a[1]*b[2] - a[2]*b[1],
         a[2]*b[0] - a[0]*b[2],
         a[0]*b[1] - a[1]*b[0]]

    return c
Run Code Online (Sandbox Code Playgroud)

  • 欢迎你(但没有必要单独感谢我们每个人).但是,你可以"接受"其中一个答案 - 提示,提示,...... (8认同)

ful*_*ton 32

import numpy as np
a = np.array([1,0,0])  
b = np.array([0,1,0])  
#print the result    
print(np.cross(a,b))
Run Code Online (Sandbox Code Playgroud)

  • 虽然不是对要求的回答,但保罗有一个观点:如果你需要那种东西,你真的应该*看到numpy!此外,如果您正在学习3D矢量,请查看VPython - 它使这些东西可视化非常简单和有趣. (10认同)
  • 我投了票,因为这是我正在寻找的答案! (3认同)