47 lines
1.2 KiB
Python
47 lines
1.2 KiB
Python
|
|
import sys
|
|
|
|
from Shape import Shape
|
|
|
|
class Circle(Shape):
|
|
def __init__(self, x, y, r):
|
|
self.vars = [x, y, r]
|
|
|
|
def nVars(self):
|
|
return len(self.vars)
|
|
|
|
def nPts(self):
|
|
return 5
|
|
|
|
def toEqu(self, ptNum):
|
|
if ptNum == 0:
|
|
return ([1, 0, 0], [0, 1, 0])
|
|
elif ptNum == 1:
|
|
return ([1, 0, 1], [0, 1, 0])
|
|
elif ptNum == 2:
|
|
return ([1, 0, 0], [0, 1, 1])
|
|
elif ptNum == 3:
|
|
return ([1, 0, -1], [0, 1, 0])
|
|
elif ptNum == 4:
|
|
return ([1, 0, 0], [0, 1, -1])
|
|
|
|
def getCenter(self):
|
|
return (self.vars[0], self.vars[1])
|
|
|
|
def getRadius(self):
|
|
return self.vars[2]
|
|
|
|
def getPt(self, ptNum):
|
|
if ptNum == 0:
|
|
return (self.vars[0], self.vars[1])
|
|
elif ptNum == 1:
|
|
return (self.vars[0] + self.vars[2], self.vars[1])
|
|
elif ptNum == 2:
|
|
return (self.vars[0], self.vars[1] + self.vars[2])
|
|
elif ptNum == 3:
|
|
return (self.vars[0] - self.vars[2], self.vars[1])
|
|
elif ptNum == 4:
|
|
return (self.vars[0], self.vars[1] - self.vars[2])
|
|
else:
|
|
sys.stderr.write('Circle.getPt(%d) called!' % ptNum)
|