def tensor(a,b):
'''Returns the 3x3x3 (27 element) trifocal tensor given two 3x4 camera matrices.
'''
T = zeros((3,3,3))
for i in range(3):
T[i] = outer(a[:,i],b[:,3]) - outer(a[:,3],b[:,i])
return T
Diff to Previous Revision
--- revision 2 2012-06-23 05:23:22
+++ revision 3 2012-06-27 03:32:05
@@ -2,10 +2,6 @@
'''Returns the 3x3x3 (27 element) trifocal tensor given two 3x4 camera matrices.
'''
T = zeros((3,3,3))
- for ti in range(3):
- for tj in range(3):
- for tk in range(3):
- for j in range(tj+1):
- for k in range(tk+1):
- T[ti,tj,tk] += a[j,ti]*b[k,3] - a[j,3]*b[k,ti]
+ for i in range(3):
+ T[i] = outer(a[:,i],b[:,3]) - outer(a[:,3],b[:,i])
return T