Lecture Notes on 22 Jan 2014 import math class Point (object): # constructor def __init__ (self, x = 0, y= 0): self.x = x self.y = y # get distance def dist (self, p): return math.hypot (self.x - p.x, self.y - p.y) # string representation of a Point object def __str__ (self): return '(' + str(self.x) + ', ' + str(self.y) + ')' class Circle (object): # constructor def __init__ (self, radius = 0, x = 0, y = 0): self.radius = radius self.center = Point (x, y) # compute circumference def circumference (self): return 2.0 * math.pi * self.radius # compute area def area (self): return math.pi * self.radius * self.radius # determine if point is inside circle def isInside (self, p): return (self.center.dist(p) < self.radius) # determine if a circle c is inside this circle def isWithin (self, c): distance = self.center.dist (c.center) return (distance + c.radius) < self.radius def main (): # Create a Point object pointP = Point () pointQ = Point (2.3, 4.5) # Print coordinates of the points print (pointP.x, pointP.y) print (pointQ.x, pointQ.y) # Change the coordinates pointP.x = 4.7 pointP.y = 7.2 print (pointP.x, pointP.y) print (pointP) # Print distance between points print (pointP.dist(pointQ)) print (pointQ.dist(pointP)) main()