回答
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