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)
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)