def test_stretch(self): M = affine_matrix(Multipoint([(0, 0), (1, 0), (0, 1)]), Multipoint([(0, 0), (2, 0), (0, 2)])) Mans = np.array([[2, 0, 0], [0, 2, 0], [0, 0, 1]]) self.assertTrue(np.allclose(M, Mans)) translated_square = self.square.apply_affine_transform(M) ans = np.array([[0, 0], [0, 2], [2, 2], [2, 0]]) self.assertTrue(np.allclose(translated_square.get_vertices(), ans)) return
def test_stretch_multipoint(self): M = affine_matrix(Multipoint([(0,0), (1,0), (0,1)]), Multipoint([(0,0), (2,0), (0,2)])) Mans = np.array([[2, 0, 0], [0, 2, 0]]) self.assertTrue(np.allclose(M, Mans)) translated_square = self.square.apply_transform(M) ans = np.array([[0, 0], [0, 2], [2, 2], [2, 0]]) self.assertTrue(np.allclose(translated_square.vertices(), ans)) return
def test_translate(self): M = affine_matrix(Multipoint([(0,0), (1,0), (0,1)]), Multipoint([(1,0), (2,0), (1,1)])) Mans = np.array([[1, 0, 1], [0, 1, 0], [0, 0, 1]]) self.assertTrue(np.allclose(M, Mans)) translated_square = self.square.apply_affine_transform(M) ans = np.array([[1, 0], [1, 1], [2, 1], [2, 0]]) self.assertTrue(np.allclose(translated_square.get_vertices(), ans)) return
def test_rotate(self): s2 = math.sqrt(0.5) M = affine_matrix(Multipoint([(0, 0), (1, 0), (0, 1)]), Multipoint([(0, 0), (s2, s2), (-s2, s2)])) Mans = np.array([[s2, -s2, 0], [s2, s2, 0], [0, 0, 1]]) self.assertTrue(np.allclose(M, Mans)) translated_square = self.square.apply_affine_transform(M) ans = np.array([[0, 0], [-s2, s2], [0, 2 * s2], [s2, s2]]) self.assertTrue(np.allclose(translated_square.get_vertices(), ans)) return
def test_rotate_multipoint(self): s2 = math.sqrt(0.5) M = affine_matrix(Multipoint([(0,0), (1,0), (0,1)]), Multipoint([(0,0), (s2,s2), (-s2,s2)])) Mans = np.array([[s2, -s2, 0], [s2, s2, 0]]) self.assertTrue(np.allclose(M, Mans)) translated_square = self.square.apply_transform(M) ans = np.array([[0, 0], [-s2, s2], [0, 2*s2], [s2, s2]]) self.assertTrue(np.allclose(translated_square.vertices(), ans)) return