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))
Esempio n. 2
0
    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],
            ]))
Esempio n. 10
0
    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))
Esempio n. 11
0
    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))
Esempio n. 12
0
    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))
Esempio n. 13
0
 def test_size01(self):
     size = BoundingBox([0, 0, 0], [1, 1, 1]).size()
     self.assertTrue(is_arrays_equal(size, [1, 1, 1]))
Esempio n. 14
0
 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))
Esempio n. 15
0
 def test_size02(self):
     size = BoundingBox([-8, 7, -5], [-4, 10, 1]).size()
     self.assertTrue(is_arrays_equal(size, [4, 3, 6]))
Esempio n. 16
0
 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))
Esempio n. 17
0
 def test_center01(self):
     res = BoundingBox([0, 0, 0], [6, 3, 2]).center()
     self.assertTrue(is_arrays_equal(res, [3, 1.5, 1.0]))
Esempio n. 18
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]))
Esempio n. 19
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]))