Welcome, guest | Sign In | My Account | Store | Cart
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

History