def test_normal_vector_on_cylinder(self):
     cyl = Cylinder()
     PointNormal = namedtuple("PointNormal", ["point", "normal"])
     point_normals = [
         PointNormal(Point(1, 0, 0), Vector(1, 0, 0)),
         PointNormal(Point(0, 5, -1), Vector(0, 0, -1)),
         PointNormal(Point(0, -2, 1), Vector(0, 0, 1)),
         PointNormal(Point(-1, 1, 0), Vector(-1, 0, 0))
     ]
     for point_normal in point_normals:
         n = cyl.local_normal_at(point_normal.point)
         self.assertEqual(n, point_normal.normal)
 def test_normal_vector_cylinder_end_caps(self):
     cyl = Cylinder()
     cyl.minimum = 1
     cyl.maximum = 2
     cyl.closed = True
     PointNormal = namedtuple("PointNormal", ["point", "normal"])
     point_normals = [
         PointNormal(Point(0, 1, 0), Vector(0, -1, 0)),
         PointNormal(Point(0.5, 1, 0), Vector(0, -1, 0)),
         PointNormal(Point(0, 1, 0.5), Vector(0, -1, 0)),
         PointNormal(Point(0, 2, 0), Vector(0, 1, 0)),
         PointNormal(Point(0.5, 2, 0), Vector(0, 1, 0)),
         PointNormal(Point(0, 2, 0.5), Vector(0, 1, 0))
     ]
     for point_normal in point_normals:
         n = cyl.local_normal_at(point_normal.point)
         self.assertEqual(n, point_normal.normal)
Esempio n. 3
0
 def test_normal_vector_on_a_cylinder(self):
     cyl = Cylinder()
     n = cyl.local_normal_at(Point(-1, 1, 0))
     self.assertTrue(Vector(-1, 0, 0) == n)