Я пытаюсь симулировать черепаху лучами света, огибающими массивное тело. Я могу сделать это отлично только с одним световым лучом (черепахой), но я хочу сделать анимацию с 5 или 6 лучами. Я создал черепах и поместил их в список (я попробовал кортеж, та же проблема). Когда я перебираю список, анимация идет совершенно неправильно - все пути, описанные черепахами, одинаковы (5 из 6 ошибочно). Если я итерирую только с одной черепахой, путь будет правильным. Пожалуйста, помогите мне понять, что делать:
мой код итерации: фотоны - это черепахи.
fotons = [fot, fot2, fot3, fot4, fot5, fot6]
while (t < 0.1):
for foton in fotons:
x = foton.xcor()
y = foton.ycor()
r = foton.distance(bh.xcor(), bh.ycor())
if r == 0:
r = 1
if r <= 20:
foton.clear()
foton.hideturtle()
foton.reset()
elif r > 20 and r < 22:
d = foton.distance(bh.xcor(), bh.ycor())
a = (30**2)/d
ax = -a*x/d
ay = -a*y/d
vx = vx + ax*dt
vy = vy + ay*dt
x = x + vx*dt
y = y + vy*dt
foton.goto(x, y)
if r >= 22:
Fg = G*mfot*mbh/r**2
a = Fg/mfot
ax = -a*x/r
ay = -a*y/r
vx = vx + ax*dt
vy = vy + ay*dt
x = x + vx*dt
y = y + vy*dt
foton.goto(x, y)
t += dt