Пример #1
0
 def test_non_parallel_intersection_is_one_extremity(self):
     self.assert_(cross((2, 0, 3, 1, 3, 0, 3, 3)))
     self.assert_(cross((5, 0, 0, 5, 3, 2, 5, 4)))
     self.assert_(cross((0, 0, 0, 5, 7, 5, -7, -5)))
     self.assert_(cross((3, 0, 3, 3, 2, 0, 3, 1)))
     self.assert_(cross((2, 0, 3, 1, 3, 0, 3, 3)))
     self.assert_(cross((3, 3, 3, 0, 3, 1, 2, 0)))
     self.assert_(cross((3, 1, 2, 0, 3, 3, 3, 0)))
     self.assert_(cross((3, 0, 3, 3, 3, 2, 2, 3)))
Пример #2
0
 def test_non_parallel_intersection_is_one_extremity(self):
     self.assertTrue(cross(2, 0, 3, 1, 3, 0, 3, 3))
     self.assertTrue(cross(5, 0, 0, 5, 3, 2, 5, 4))
     self.assertTrue(cross(0, 0, 0, 5, 7, 5, -7, -5))
     self.assertTrue(cross(3, 0, 3, 3, 2, 0, 3, 1))
     self.assertTrue(cross(2, 0, 3, 1, 3, 0, 3, 3))
     self.assertTrue(cross(3, 3, 3, 0, 3, 1, 2, 0))
     self.assertTrue(cross(3, 1, 2, 0, 3, 3, 3, 0))
     self.assertTrue(cross(3, 0, 3, 3, 3, 2, 2, 3))
Пример #3
0
 def test_non_parallel_no_intersection(self):
     self.assert_(not cross((2, 2, 8, 2, 3, 3, 9, 6)))
     self.assert_(not cross((1, 2, 5, 6, 3, 2, 8, 5)))
     self.assert_(not cross((0, 0, 0, 5, 1, 2, 4, 2)))
     self.assert_(not cross((0, 0, 0, 5, 1, 0, 4, 6)))
     self.assert_(not cross((0, 0, 1, 0, 3, 0, 3, 3)))
     self.assert_(not cross((0, 0, 1, 0, 0, 1, 0, 2)))
Пример #4
0
 def test_non_parallel_no_intersection(self):
     self.assertTrue(not cross(2, 2, 8, 2, 3, 3, 9, 6))
     self.assertTrue(not cross(1, 2, 5, 6, 3, 2, 8, 5))
     self.assertTrue(not cross(0, 0, 0, 5, 1, 2, 4, 2))
     self.assertTrue(not cross(0, 0, 0, 5, 1, 0, 4, 6))
     self.assertTrue(not cross(0, 0, 1, 0, 3, 0, 3, 3))
     self.assertTrue(not cross(0, 0, 1, 0, 0, 1, 0, 2))
Пример #5
0
 def test_non_parallel_intersection_is_two_extremities(self):
     """ This is not considered as a valid intersection. """
     self.assertTrue(not cross(0, 0, 0, 5, 0, 0, 5, 0))
     self.assertTrue(not cross(0, 0, 0, 1, 0, 1, 1, 1))
Пример #6
0
 def test_non_parallel_intersection_is_two_extremities(self):
     """ This is not considered as a valid intersection. """
     self.assert_(not cross((0, 0, 0, 5, 0, 0, 5, 0)))
     self.assert_(not cross((0, 0, 0, 1, 0, 1, 1, 1)))
Пример #7
0
 def test_colinear_intersection_is_complete_segment_vertical(self):
     self.assertTrue(cross(2, 0, 2, 2, 2, -2, 2, 4))
     self.assertTrue(cross(2, 0, 2, 2, 2, 0, 2, 4))
     self.assertTrue(cross(2, 0, 2, 2, 2, -2, 2, 2))
Пример #8
0
 def test_colinear_intersection_is_partial_segment_vertical(self):
     self.assertTrue(cross(3, 3, 3, 5, 3, 4, 3, 6))
Пример #9
0
 def test_colinear_intersection_is_partial_segment(self):
     self.assertTrue(cross(0, 0, 4, 2, 2, 1, 6, 3))
Пример #10
0
 def test_colinear_intersection_is_two_extremities(self):
     """ This is not considered as a valid intersection. """
     self.assertTrue(not cross(0, 0, 1, 2, 1, 2, 2, 4))
Пример #11
0
 def test_colinear_intersection_is_partial_segment_vertical(self):
     self.assert_(cross((3, 3, 3, 5, 3, 4, 3, 6)))
Пример #12
0
 def test_colinear_intersection_is_partial_segment_horizontal(self):
     self.assert_(cross((3, 3, 5, 3, 4, 3, 6, 3)))
Пример #13
0
 def test_colinear_intersection_is_partial_segment(self):
     self.assert_(cross((0, 0, 4, 2, 2, 1, 6, 3)))
Пример #14
0
 def test_colinear_no_intersection(self):
     self.assert_(not cross((3, 3, 4, 3, 5, 3, 6, 3)))
Пример #15
0
 def test_colinear_intersection_is_two_extremities(self):
     """ This is not considered as a valid intersection. """
     self.assert_(not cross((0, 0, 1, 2, 1, 2, 2, 4)))
Пример #16
0
 def test_parallel_no_intersection(self):
     self.assert_(not cross((1, 2, 5, 6, 3, 2, 5, 4)))
     self.assert_(not cross((3, 3, 5, 3, 4, 4, 6, 4)))
     self.assert_(not cross((3, 3, 4, 3, 5, 4, 6, 4)))
     self.assert_(not cross((0, 0, 5, 0, 1, 1, 5, 1)))
Пример #17
0
 def test_parallel_no_intersection(self):
     self.assertTrue(not cross(1, 2, 5, 6, 3, 2, 5, 4))
     self.assertTrue(not cross(3, 3, 5, 3, 4, 4, 6, 4))
     self.assertTrue(not cross(3, 3, 4, 3, 5, 4, 6, 4))
     self.assertTrue(not cross(0, 0, 5, 0, 1, 1, 5, 1))
Пример #18
0
 def test_colinear_intersection_is_complete_segment_horizontal(self):
     self.assert_(cross((0, 2, 2, 2, -2, 2, 4, 2)))
     self.assert_(cross((0, 2, 2, 2, 0, 2, 4, 2)))
     self.assert_(cross((0, 2, 2, 2, -2, 2, 2, 2)))
     self.assert_(cross((0, 2, 2, 2, 1, 2, 2, 2)))
     self.assert_(cross((2, 2, 0, 2, 1, 2, 2, 2)))
     self.assert_(cross((0, 2, 2, 2, 2, 2, 1, 2)))
     self.assert_(cross((2, 2, 0, 2, 2, 2, 1, 2)))
     self.assert_(cross((1, 2, 2, 2, 0, 2, 2, 2)))
     self.assert_(cross((1, 2, 2, 2, 2, 2, 0, 2)))
     self.assert_(cross((2, 2, 1, 2, 0, 2, 2, 2)))
     self.assert_(cross((2, 2, 1, 2, 2, 2, 0, 2)))
Пример #19
0
 def test_colinear_no_intersection(self):
     self.assertTrue(not cross(3, 3, 4, 3, 5, 3, 6, 3))
Пример #20
0
 def test_colinear_intersection_is_complete_segment_vertical(self):
     self.assert_(cross((2, 0, 2, 2, 2, -2, 2, 4)))
     self.assert_(cross((2, 0, 2, 2, 2, 0, 2, 4)))
     self.assert_(cross((2, 0, 2, 2, 2, -2, 2, 2)))
Пример #21
0
 def test_colinear_intersection_is_partial_segment_horizontal(self):
     self.assertTrue(cross(3, 3, 5, 3, 4, 3, 6, 3))
Пример #22
0
 def test_colinear_intersection_is_complete_segment(self):
     self.assert_(cross((0, 0, 6, 3, 2, 1, 4, 2)))
     self.assert_(cross((0, 0, 6, 3, 2, 1, 6, 3)))
     self.assert_(cross((0, 0, 6, 3, 0, 0, 4, 2)))
Пример #23
0
 def test_colinear_intersection_is_complete_segment_horizontal(self):
     self.assertTrue(cross(0, 2, 2, 2, -2, 2, 4, 2))
     self.assertTrue(cross(0, 2, 2, 2, 0, 2, 4, 2))
     self.assertTrue(cross(0, 2, 2, 2, -2, 2, 2, 2))
     self.assertTrue(cross(0, 2, 2, 2, 1, 2, 2, 2))
     self.assertTrue(cross(2, 2, 0, 2, 1, 2, 2, 2))
     self.assertTrue(cross(0, 2, 2, 2, 2, 2, 1, 2))
     self.assertTrue(cross(2, 2, 0, 2, 2, 2, 1, 2))
     self.assertTrue(cross(1, 2, 2, 2, 0, 2, 2, 2))
     self.assertTrue(cross(1, 2, 2, 2, 2, 2, 0, 2))
     self.assertTrue(cross(2, 2, 1, 2, 0, 2, 2, 2))
     self.assertTrue(cross(2, 2, 1, 2, 2, 2, 0, 2))
Пример #24
0
 def test_non_parallel_normal_intersection(self):
     self.assert_(cross((4, 4, 7, 4, 4, 3, 6, 5)))
     self.assert_(cross((2, 1, 4, 3, 1, 2, 5, 1)))
     self.assert_(cross((1, 4, 7, 4, 4, 1, 4, 7)))
     self.assert_(cross((0, 0, 0, 5, -1, 2, 1, 2)))
     self.assert_(cross((0, 0, 0, 5, 1, 0, -1, 4)))
Пример #25
0
 def test_colinear_intersection_is_complete_segment(self):
     self.assertTrue(cross(0, 0, 6, 3, 2, 1, 4, 2))
     self.assertTrue(cross(0, 0, 6, 3, 2, 1, 6, 3))
     self.assertTrue(cross(0, 0, 6, 3, 0, 0, 4, 2))
Пример #26
0
 def test_non_parallel_normal_intersection(self):
     self.assertTrue(cross(4, 4, 7, 4, 4, 3, 6, 5))
     self.assertTrue(cross(2, 1, 4, 3, 1, 2, 5, 1))
     self.assertTrue(cross(1, 4, 7, 4, 4, 1, 4, 7))
     self.assertTrue(cross(0, 0, 0, 5, -1, 2, 1, 2))
     self.assertTrue(cross(0, 0, 0, 5, 1, 0, -1, 4))