class Point(object): """represents a point in 2-D space""" def __init__(self, x, y): self.x = x self.y = y class Rectangle(object): """represent a rectangle. attributes: width, height, corner (lower left), color. """ def __init__(self, width, height, corner, color): self.width = width self.height = height self.corner = corner self.color = color def draw(r, canvas): """Draws r on canvas.""" bbox = [[r.corner.x, r.corner.y], [r.corner.x + r.width, r.corner.y + r.height]] canvas.rectangle(bbox, outline='black', width=2, fill=r.color) class Circle(object): """represents a circle. attributes: center, radius, color. """ def __init__(self, center, radius, color): self.center = center self.radius = radius self.color = color def draw(c, canvas): canvas.circle([c.center.x,c.center.y], c.radius, outline=None, fill=c.color) class Polygon(object): """attributes: a list of points and a color""" def __init__(self, points, color): self.points = points self.color = color def draw(p, canvas): canvas.polygon ([[pt.x, pt.y] for pt in p.points], fill= p.color) from World import World def flagOfBangladesh(): shapes = [] w = World() canvas = w.ca(width=500, height=500, background='white') rect = Rectangle(color='green4', corner=Point(-150,-100), height=200, width=300) shapes.append(rect) c = Circle(radius=70, color='red', center=Point(-25,0)) shapes.append(c) for shape in shapes: shape.draw(canvas) w.mainloop() def flagOfCzechRepublic(): w = World() canvas = w.ca(width=500, height=500, background='white') rect = Rectangle(color='red', corner=Point(-150,-100), height=200, width=300) rect.draw(canvas) rect.color = 'white' rect.corner.y = 0 rect.height = 100 rect.draw(canvas) triangle = Polygon(points=[Point(-150,-100),Point(-150,100),Point(-10,0)], color = 'blue') triangle.draw(canvas) w.mainloop()