Advertisement
Guest User

Untitled

a guest
Oct 17th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.05 KB | None | 0 0
  1. class Point:
  2. def __init__(self, coords, mass=1.0, q=1.0 speed=None, **properties):
  3. self.coords = coords
  4. if speed is None:
  5. self.speed = Vector(*[0 for i in range(len(coords))])
  6. else:
  7. self.speed = speed
  8. self.acc = Vector(*[0 for i in range(len(coords))])
  9. self.mass = mass
  10. self.__params__ = ["coords", "speed", "acc", "q"] + list(properties.keys())
  11. self.q = q
  12. for prop in properties:
  13. setattr(self, prop, properties[prop])
  14.  
  15. def move(self, dt):
  16. self.coords = self.coords + self.speed * dt
  17.  
  18. def accelerate(self, dt):
  19. self.speed = self.speed + self.acc * dt
  20.  
  21. def accinc(self, force):
  22. self.acc = self.acc + force / self.mass
  23.  
  24. def clean_acc(self):
  25. self.acc = self.acc * 0
  26.  
  27. def __str__(self):
  28. r = ["Point {"]
  29. for p in self.__params__:
  30. r.append(" " + p + " = " + str(getattr(self, p)))
  31. r += ["}"]
  32. return "\n".join(r)
  33.  
  34. def _ipython_display_(self):
  35. print(str(self))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement