Пример #1
0
 def test_ray_misses_p2_p3_edge(self):
     t = Triangle(Point(0, 1, 0), Point(-1, 0, 0), Point(1, 0, 0))
     r = Ray(Point(0, -1, -2), Vector(0, 0, 1))
     xs = t.local_intersect(r)
     self.assertEqual(len(xs), 0)
Пример #2
0
 def test_ray_strikes_Triangle(self):
     t = Triangle(Point(0, 1, 0), Point(-1, 0, 0), Point(1, 0, 0))
     r = Ray(Point(0, 0.5, -2), Vector(0, 0, 1))
     xs = t.local_intersect(r)
     self.assertEqual(len(xs), 1)
     self.assertEqual(xs[0].t, 2)
Пример #3
0
 def test_intersect_ray_parallel_Triangle(self):
     t = Triangle(Point(0, 1, 0), Point(-1, 0, 0), Point(1, 0, 0))
     r = Ray(Point(0, -1, -2), Vector(0, 1, 0))
     xs = t.local_intersect(r)
     self.assertEqual(len(xs), 0)