Esempio n. 1
0
    def test_transform_matrix(self):
        """ Tests that transform() on matrix returns a 4x4 matrix, always """
        arr3, arr4 = np.random.random((3, 3)), np.random.random((4, 4))
        mat3, mat4 = np.eye(3), np.eye(4)

        for mat, arr in product([mat3, mat4], [arr3, arr4]):
            self.assertSequenceEqual(tr.transform(mat, arr).shape, (4, 4))
Esempio n. 2
0
    def test_transform_vector(self):
        """ Tests that transform() on vector returns a vector """
        vec = np.random.random((3,))

        # Test for vector of length 3
        mat3, mat4 = np.eye(3), np.eye(4)
        for mat in [mat3, mat4]:
            self.assertSequenceEqual(vec.shape, tr.transform(mat, vec).shape)
Esempio n. 3
0
    def test_random(self):
        """ Test that translation_rotation_matrix() produces a matrix that correctly
		transforms a random point """
        pt = np.random.random((3,))

        axis = np.random.random((3,))
        angle = np.random.random()
        translation = np.random.random((3,))

        trmat = tr.translation_rotation_matrix(angle, axis, translation=translation)
        v1 = tr.transform(trmat, pt)  # translated rotated point

        # Transform the point once operator at a time
        v2 = tr.transform(tr.rotation_matrix(angle, axis), pt)
        v2 += translation

        self.assertTrue(np.allclose(v1, v2))
Esempio n. 4
0
def test_transform_vector():
    """ Tests that transform() on vector returns a vector """
    vec = np.random.random((3, ))

    # Test for vector of length 3
    mat3, mat4 = np.eye(3), np.eye(4)
    for mat in [mat3, mat4]:
        assert vec.shape == tr.transform(mat, vec).shape
Esempio n. 5
0
    def test_random(self):
        """ Tests that translation_matrix() has the same effect on a point
		as directly translating."""
        pt = np.random.random((3,))
        translation = np.random.random((3,))

        mat = tr.translation_matrix(translation)
        transformed = tr.transform(mat, pt)

        self.assertTrue(np.allclose(pt + translation, transformed))