Нам дали домашнее задание, которое потребовало от нас моделирования проблемы преследования классических мышей. https://en.wikipedia.org/wiki/Mice_problem. Я написал код для симуляции мышей в 3-х гон, то есть в треугольнике. Я также могу легко добавить других мышей вручную, чтобы имитировать мышей на вершинах квадрата. Этого вполне достаточно для домашней работы, но я пытаюсь сделать в этой программе то, что я хотел бы создать симуляцию из n мышей, где у пользователя есть свобода выбора любого произвольного n.
Myкод (In VPython) :
#instantiating objects
s1 = sphere(pos=vector(0,0,0), radius=0, make_trail='True', trail_color=color.red)
s2 = sphere(pos=vector(2,0,0), radius=0, make_trail='True', trail_color=color.blue)
s3 = sphere(pos=vector(1,sqrt(3),0), radius=0, make_trail='True', trail_color=color.green)
#defining constants
speed = 5
dt = 0.01
#defining driving function
def move_snail(s, dir):
return s.pos += speed * dt * dir
#setting up animating loop
while True:
rate(10)
p1 = s1.pos
p2 = s2.pos
p3 = s3.pos
#defining directions
dir_1 = hat(p2-p1)
dir_2 = hat(p3-p2)
dir_3 = hat(p1-p3)
#calling function and updating position
move_snail(s1, dir_1)
move_snail(s2, dir_2)
move_snail(s3, dir_3)