From 1e3f6cb53315d3cc71f9e90eff3af2fca5f35ba8 Mon Sep 17 00:00:00 2001 From: rlbr Date: Fri, 9 Nov 2018 14:50:05 -0600 Subject: [PATCH] made circle --- circle.py | 38 ++++++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/circle.py b/circle.py index 1d8255d..61d8210 100644 --- a/circle.py +++ b/circle.py @@ -1,20 +1,30 @@ from sympy import * - -class semicircle: - def __init__(self,x,y,r,upper=False): - if upper: - self.coef = 1 - else: - self.coef = -1 - - self.x = x - self.y = y - self.r = r - self.expr = simplify(self.y + self.coef * sqrt(r**2 - - +_x = symbols('x') +_y = symbols('y') class circle: def __init__(self,x,y,r): self.x = x self.y = y self.r = r - + + def get_expr(self): + return self.r**2 - (pow(_x-self.x,2) + pow(_y-self.y,2)) + + def get_x(self,y): + expr = self.get_expr() + expr = expr.subs(_y,y) + return solve(expr,_x) + + def get_y(self,x): + expr = self.get_expr() + expr = expr.subs(_x,x) + return solve(expr,_y) + + def get_diff(self,dydx=True): + expr = self.get_expr() + if dydx: + return expr.diff(_x) + else: + return expr.diff(_y) +if __name__ == "__main__": + unit_circle = circle(0,0,1) \ No newline at end of file