Sunday, February 7, 2016

Добавление энималам ДНК

    Со времени прошлого поста я изменил технологии программирования и добавил несколько фич в модель, таких как ДНК. 
    Теперь вместо CPython + GTK я использую IronPython + WPF. Выбор в первую очередь был основан на том, что в IronPython реализуется действительная многопоточность, и при работе с этим интерпритатором очень удобно работать с gui.
    Ну да не будем заморачиваться технологическими вопросами и перейдём к главному.

Описание модели


На 2D-поле имеются агенты (зеленые и красные) и пища (серая) (см. рис. 2.1).
Рис. 2.1 Общий вид
Агент способны перемещаться вперед\назад относительно текущего угла поворота и изменять его, т.е. поворачиваться по или против часовой стрелки. А значит, его действие в конкретный момент времени можно выразить в виде вектора в полярной системе координат.