Пример #1
0
def best_similarity_transform_test():
    N = 20
    for K in [3]: # TODO: multiple dimensions
        X = np.random.randn(K, N)

        R = random_rotation()
#        R = np.eye(K)
        t = np.random.randn(K, 1)
#        print 'R: %s' % R 
#        print 't: %s' % t

        Y = np.dot(R, X) + t
        R2, t2 = best_similarity_transform(X, Y)
#        print 'R2: %s' % R2 
#        print 't2: %s' % t2
        Y2 = np.dot(R2, X) + t2

        assert_allclose(R, R2, atol=1e-10)
        assert_allclose(t, t2)

        assert_allclose(Y, Y2)
Пример #2
0
def best_similarity_transform_test():
    N = 20
    for K in [3]:  # TODO: multiple dimensions
        X = np.random.randn(K, N)

        R = random_rotation()
        #        R = np.eye(K)
        t = np.random.randn(K, 1)
        #        print 'R: %s' % R
        #        print 't: %s' % t

        Y = np.dot(R, X) + t
        R2, t2 = best_similarity_transform(X, Y)
        #        print 'R2: %s' % R2
        #        print 't2: %s' % t2
        Y2 = np.dot(R2, X) + t2

        assert_allclose(R, R2, atol=1e-10)
        assert_allclose(t, t2)

        assert_allclose(Y, Y2)
Пример #3
0
def best_orthogonal_transform_test1():
    X = random_directions(20)
    R = random_rotation()
    Y = np.dot(R, X)
    R2 = best_orthogonal_transform(X, Y)
    assert_allclose(R, R2)
Пример #4
0
def best_orthogonal_transform_test1():
    X = random_directions(20)
    R = random_rotation()
    Y = np.dot(R, X)
    R2 = best_orthogonal_transform(X, Y)
    assert_allclose(R, R2)