回答
import numpy as np
a = np.array([1,0,0])
b = np.array([0,1,0])
print np.cross(a,b)
'没有使用编程库'... – 2009-12-31 10:24:47
抱歉。 – fulmicoton 2009-12-31 10:28:58
虽然不是要求的答案,但保罗有一个观点: 如果你需要这样的事情,你真的*应该*看看numpy! 另外,如果您在学习中使用3D矢量,请查看VPython - 它使这些事情变得非常容易和有趣。 – 2009-12-31 10:51:12
你问的公式跨产品?或者如何在python中进行索引和列表?
其基本思想是,您可以将a和b的元素作为[0],a [1],[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
感谢您的标记! – blur959 2009-12-31 12:26:58
不客气(但没有必要感谢我们每个人)但是,你可以“接受”其中一个答案 - 提示,提示,... – 2009-12-31 12:55:59
可能会看到http://en.wikipedia.org/wiki/Vector_cross_product 或数学/物理书。 (a1,a2,a3)X(b1,b2,b3)=(a2 * b3-a3 * b2,a3 * b1-a1 * b3,a1 * b2-a2 * b1)
感谢您的信息!欣赏它! – blur959 2009-12-31 12:26:15
,这可能会奏效;
def crossProd(a,b):
dimension = len(a)
c = []
for i in range(dimension):
c.append(0)
for j in range(dimension):
if j <> i:
for k in range(dimension):
if k <> i:
if k > j:
c[i] += a[j]*b[k]
elif k < j:
c[i] -= a[j]*b[k]
return c
使用递归这个?...它会更优雅。 – Sardathrion 2012-07-05 10:46:20
老了,但如果有一个人永远都需要: 我这样做是这样的:
高清cross_product(U,V):
dim = len(u)
s = []
for i in range(dim):
if i == 0:
j,k = 1,2
s.append(u[j]*v[k] - u[k]*v[j])
elif i == 1:
j,k = 2,0
s.append(u[j]*v[k] - u[k]*v[j])
else:
j,k = 0,1
s.append(u[j]*v[k] - u[k]*v[j])
return s
- 1. 如何使用“cross”查找两个向量(OpenGL)的叉积?
- 2. 两个向量的计算点积
- 3. 矢量的叉积
- 4. Python/Numpy - 在两个数组中匹配行的交叉积
- 5. 向量化Python中的累积和
- 6. 在Python中计算两个numpy行数组(向量)的点积给出了一个形状向量
- 7. 如何计算numpy向量的逆交叉乘积?
- 8. 使用点积来计算两个向量之间的角度
- 9. 计算二维矢量的交叉积
- 10. Boost.Test - 如何检查交叉点上的两个向量?
- 11. 两个多项式的乘积python
- 12. 两个矩形脉冲的卷积Python
- 13. 几个向量的笛卡尔积
- 14. Python程序与矩阵和矢量叉积
- 15. 符号向量的点积
- 16. Q向量的点积
- 17. 积分向量的规范
- 18. 两个分类变量的交叉表
- 19. 给定两个点和两个方向矢量,发现在它们交叉
- 20. 如何守点的两个向量中的一个向量
- 21. BLAS 2级频带矩阵 - 向量乘积多个向量
- 22. Python中两个n维向量之间的角度
- 23. python中的向量
- 24. Matlab中两个向量的直方图
- 25. scilab中两个向量的协方差
- 26. matlab中只有一个变量的两个变量的积分函数
- 27. Python上数组中两个最大元素的乘积
- 28. 如何在OpenCL中累积向量?
- 29. 在R中堆积字符向量
- 30. matlab中的交叉乘积函数
了跨产品的配方可以在http://mathworld.wolfram.com/CrossProduct.html找到。如果您仍有编程问题,请在阅读完之后再回来。 – 2009-12-31 10:18:25