import math as mth class Point: def __init__(self,x,y): self.x = x self.y = y def getX(self): return self.x def getY(self): return self.y def distance(self,otherPoint): dx=otherPoint.x-self.x dy=otherPoint.y-self.y return mth.sqrt(dx**2 + dy**2) def movePoint(self,dx,dy): self.x = self.x+dx self.y = self.y+dy def displayPoint(self): print("("+str(self.x)+","+str(self.y)+")") def __str__(self): return "("+str(self.x)+","+str(self.y)+")" class Rectangle: def __init__(self,pt1,pt2): self.ulPoint=pt1 self.lrPoint=pt2 def width(self): return self.lrPoint.getX()-self.ulPoint.getX() def height(self): return self.ulPoint.getY()-self.lrPoint.getY() def getPerimeter(self): return 2*self.width()+2*self.height() def getArea(self): return self.width()*self.height() class Circle: def __init__(self,centerPoint,radius): self.radius = radius self.centerPoint=centerPoint def area(self): return mth.pi*(self.radius**2) def perimeter(self): return 2*mth.pi*self.radius def moveCenter(self,dx,dy): self.centerPoint.movePoint(dx,dy) def getCenter(self): return self.centerPoint def __str__(self): return "Circle Center: "+"("+str(self.centerPoint.getX())+","+str(self.centerPoint.getY())+")"