def test_translated_points04(self): translation = np.array([-1, 1, -3], dtype=np.float32) vertices = np.array([[1, 2, 3], [4, 0, 2], [5, 6, 7], [0, 0, 0]], dtype=np.float32) res = geom_tools.translated(translation, vertices) ans = [[0, 3, 0], [3, 1, -1], [4, 7, 4], [-1, 1, -3]] self.assertTrue(is_arrays_equal(ans, res))
def test_load_vertices09(self): content = """ v 1 0 0 v 16 3 2.2 v 0 1 0 v 0 0 1 vt 0.5 0 0 vt 0.5 0.5 0 vt 0 0.5 0 f 1/1 2/2 3/3 4/1 g something useful f 2/1 3/2 4/3 """ vertices = geom_tools.obj_import.from_obj_string_vertices(content) ans_vertices = np.array([ [1, 0, 0], [16, 3, 2.2], [0, 1, 0], [0, 0, 1], ]) self.assertTrue(is_arrays_equal(ans_vertices, vertices))
def test_rotated_and_translated03(self): matrix = [[0.5, 0, 0], [0, 2, 0], [0, 0, 0.1]] vector = [0, 0, 0] res = geom_tools.rotated_and_translated(matrix, vector, vertices=[[0, 0, 0], [13, -10, 5]]) self.assertTrue(is_arrays_equal(res, [[0, 0, 0], [6.5, -20, 0.5]]))
def test_rotated_and_translated06(self): matrix = [[0, 1, 0], [1, 0, 0], [2, 0, 0]] vector = [2, 0, 3] res = geom_tools.transform_vertices((matrix, vector), vertices=[ [0, 0, 0], [1, 0, 5], ]) self.assertTrue(is_arrays_equal(res, [ [2, 0, 3], [2, 1, 5], ]))
def test_rotated_and_translated05(self): matrix = [[0, 1, 0], [1, 0, 0], [2, 0, 0]] vector = [2, 0, 3] res = geom_tools.rotated_and_translated(rotation_matrix=matrix, translation=vector, vertices=[ [0, 0, 0], [1, 0, 5], ]) self.assertTrue(is_arrays_equal(res, [ [2, 0, 3], [2, 1, 5], ]))
def test_rotated_and_translated01(self): matrix = [[1, 0, 0], [0, 1, 0], [0, 0, 1]] vector = [0, 0, 0] res = geom_tools.rotated_and_translated(matrix, vector, vertices=[[0, 0, 0]]) self.assertTrue(is_arrays_equal(res, [[0, 0, 0]])) res = geom_tools.rotated_and_translated(matrix, vector, vertices=[[5, -3, 6], [13, 2, 0]]) self.assertTrue(is_arrays_equal(res, [[5, -3, 6], [13, 2, 0]])) res = geom_tools.rotated_and_translated(matrix, vector, vertices=[[5, -3, 6], [13, 2, 0], [-4.5, 55, 1]]) self.assertTrue( is_arrays_equal(res, [[5, -3, 6], [13, 2, 0], [-4.5, 55, 1]])) res = geom_tools.rotated_and_translated(matrix, vector, vertices=[ [5, -3, 6], [13, 2, 0], [-4.5, 55, 1], [2, 4, 8], ]) self.assertTrue( is_arrays_equal(res, [ [5, -3, 6], [13, 2, 0], [-4.5, 55, 1], [2, 4, 8], ]))
def test_rotated01(self): matrix = [[0, 1, 0], [1, 0, 0], [0, 0, 1]] res = geom_tools.rotated(matrix, vertices=[ [0, 0, 0], [1, 0, 5], [0, 3, -5], ]) self.assertTrue( is_arrays_equal(res, [ [0, 0, 0], [0, 1, 5], [3, 0, -5], ]))
def test_rotation_around_vertex01(self): rotation = [[0, -1, 0], [1, 0, 0], [0, 0, 1]] center = [0, 2, 0] transformation = geom_tools.rotation_around_vertex(rotation, center) vertices = [ [1, 0, 0], [0, 1, 0], [0, 0, 1], ] res = geom_tools.transform_vertices(transformation, vertices) ans = [ [2, 3, 0], [1, 2, 0], [2, 2, 1], ] self.assertTrue(is_arrays_equal(ans, res))
def test_rotated_and_translated04(self): matrix = [[0, 1, 0], [1, 0, 0], [0, 0, 1]] vector = [0, 0, 0] res = geom_tools.rotated_and_translated(matrix, vector, vertices=[ [0, 0, 0], [1, 0, 5], [0, 3, -5], ]) self.assertTrue( is_arrays_equal(res, [ [0, 0, 0], [0, 1, 5], [3, 0, -5], ]))
def test_load_vertices01(self): content = """ v 1 0 0 v 0 1 0 v 0 0 1 f 1 2 3 """ vertices = geom_tools.obj_import.from_obj_string_vertices(content) ans_vertices = np.array([ [1, 0, 0], [0, 1, 0], [0, 0, 1] ]) self.assertTrue(is_arrays_equal(ans_vertices, vertices))
def test_load_vertices03(self): content = """ v 11 0 0 v 0 1 0 v 0 0 1 vn 1 0 0 f 1//1 2//1 3//1 4//1 v 16 3 2 """ vertices = geom_tools.obj_import.from_obj_string_vertices(content) ans_vertices = np.array([ [11, 0, 0], [0, 1, 0], [0, 0, 1], [16, 3, 2], ]) self.assertTrue(is_arrays_equal(ans_vertices, vertices))
def test_load_vertices04(self): content = """ v 1 0.1 0 v -2 1 0 vt 0.5 0 vt 0.5 0.5 vt 0 0.5 v 0 0 1 v 16 3 2 f 1/1 2/2 3/3 4/1 """ vertices = geom_tools.obj_import.from_obj_string_vertices(content) ans_vertices = np.array([ [1, 0.1, 0], [-2, 1, 0], [0, 0, 1], [16, 3, 2], ]) self.assertTrue(is_arrays_equal(ans_vertices, vertices))
def test_size01(self): size = BoundingBox([0, 0, 0], [1, 1, 1]).size() self.assertTrue(is_arrays_equal(size, [1, 1, 1]))
def test_translated_points05(self): translation = [-1, 1, -3] vertices = [[1, 2, 3], [4, 0, 2], [5, 6, 7], [0, 0, 0]] res = geom_tools.translated(translation, vertices) ans = [[0, 3, 0], [3, 1, -1], [4, 7, 4], [-1, 1, -3]] self.assertTrue(is_arrays_equal(ans, res))
def test_size02(self): size = BoundingBox([-8, 7, -5], [-4, 10, 1]).size() self.assertTrue(is_arrays_equal(size, [4, 3, 6]))
def test_translated_points01(self): translation = np.array([-1, -2, -3], dtype=np.float32) vertices = np.array([[1, 2, 3]], dtype=np.float32) res = geom_tools.translated(translation, vertices) self.assertTrue(is_arrays_equal([[0, 0, 0]], res))
def test_center01(self): res = BoundingBox([0, 0, 0], [6, 3, 2]).center() self.assertTrue(is_arrays_equal(res, [3, 1.5, 1.0]))
def test_center02(self): res = BoundingBox([-6, -3, -2], [0, 0, 0]).center() self.assertTrue(is_arrays_equal(res, [-3, -1.5, -1.0]))
def test_center03(self): res = BoundingBox([2, 1, 0], [3, 2, 1]).center() self.assertTrue(is_arrays_equal(res, [2.5, 1.5, 0.5]))