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.

29 lines
700 B

7 years ago
7 years ago
7 years ago
7 years ago
  1. from sympy import *
  2. _x = symbols('x')
  3. _y = symbols('y')
  4. class circle:
  5. def __init__(self,x,y,r):
  6. self.x = x
  7. self.y = y
  8. self.r = r
  9. def get_expr(self):
  10. return self.r**2 - (pow(_x-self.x,2) + pow(_y-self.y,2))
  11. def get_x(self,y):
  12. expr = self.get_expr()
  13. expr = expr.subs(_y,y)
  14. return solve(expr,_x)
  15. def get_y(self,x):
  16. expr = self.get_expr()
  17. expr = expr.subs(_x,x)
  18. return solve(expr,_y)
  19. def get_diff(self,dydx=True):
  20. expr = self.get_expr()
  21. if dydx:
  22. return expr.diff(_x)
  23. else:
  24. return expr.diff(_y)
  25. if __name__ == "__main__":
  26. unit_circle = circle(0,0,1)