(self)
| 48 | self.a = self.acc() |
| 49 | self.v = self.v + 0.5*dt*self.a |
| 50 | def acc(self): |
| 51 | a = Vec(0,0) |
| 52 | for planet in self.gravSys.planets: |
| 53 | if planet != self: |
| 54 | v = planet.pos()-self.pos() |
| 55 | a += (G*planet.m/abs(v)**3)*v |
| 56 | return a |
| 57 | def step(self): |
| 58 | dt = self.gravSys.dt |
| 59 | self.setpos(self.pos() + dt*self.v) |