Exemple #1
0
 def test_intersection6(self):
     cylinder = Cylinder(Vector(0, 8, 14), 10, 1.5, Color().red(), 10, 0.1)
     ray = Ray(Vector(0, 0, 0), Vector(0.0, 0.2, 1))
     intersection = cylinder.intersection(ray, 0, 1000)
     self.assertAlmostEqual(intersection.point.x, 0.0)
     self.assertAlmostEqual(intersection.point.y, 3)
     self.assertAlmostEqual(intersection.point.z, 15)
Exemple #2
0
 def test_intersection5(self):
     cylinder = Cylinder(Vector(0, 0, 5), 2, 1, Color().red(), 10, 0.1)
     ray = Ray(Vector(0, 0, 0), Vector(0.1, -0.2, 1))
     intersection = cylinder.intersection(ray, 0, 1000)
     self.assertAlmostEqual(intersection.point.x, 0.4087346744)
     self.assertAlmostEqual(intersection.point.y, -0.8174693488)
     self.assertAlmostEqual(intersection.point.z, 4.0873467439)
Exemple #3
0
 def test_intersection2(self):
     cylinder = Cylinder(Vector(0, 0, 5), 2, 1, Color().red(), 10, 0.1)
     ray = Ray(Vector(0, 0, 0), Vector(0, 0.1, 1))
     intersection = cylinder.intersection(ray, 0, 1000)
     self.assertEqual(intersection.point.x, 0.0)
     self.assertEqual(intersection.point.y, 0.4)
     self.assertEqual(intersection.point.z, 4.0)
Exemple #4
0
 def test_intersection4(self):
     cylinder = Cylinder(Vector(0, 8, 14), 10, 1.5, Color().red(), 10, 0.1)
     ray = Ray(Vector(0, 0, 0), Vector(0.0, 1.8, 1))
     intersection = cylinder.intersection(ray, 0, 1000)
     self.assertIsNone(intersection)
Exemple #5
0
 def test_intersection3(self):
     cylinder = Cylinder(Vector(0, 0, 5), 2, 1, Color().red(), 10, 0.1)
     ray = Ray(Vector(0, 0, 0), Vector(0, 1, 1))
     intersection = cylinder.intersection(ray, 0, 1000)
     self.assertIsNone(intersection)