You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

30 lines
700 B

from sympy import *
_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)