
- •Реферат
- •Содержание
- •Введение
- •Постановка задачи курсового проектирования
- •Теоретический анализ
- •Описание алгоритмов
- •Общие положения
- •Диаграмма классов
- •Диаграмма последовательности действий
- •Описание разработанной системы
- •Описание программы
- •Аспекты реализации
- •Результаты тестирования
- •Результаты тестов и их анализ
- •Перечень достоинств использования системы
- •Перечень недостатков, недоработок и отрицательных особенностей системы
- •Заключение
- •Список использованных источников
Аспекты реализации
Для создания графического интерфейса была использована встроенная в JavaбиблиотекиSwingиAWT.
Для компоновки объектов на фрейме в основном использовались менеджеры компоновки BorderLayout,FlowLayout, а также классBox, для создания групп объектов и помещения их на соответствующие панели.
Результаты тестирования
Результаты тестов и их анализ
Т.к. гексагональный грид реализовывался на квадратном, т.е. изменялось лишь отображение, то и переопределять границы не потребовалось и при создании решетки использовался уже имеющийся класс WrapAroundBorders.
В этом классе реализовано несколько функции, для корректного перехода агентов через границы грида.
Рассмотрим пример:
Рисунок 8 – Демонстрация перехода через границы грида
Рисунок 8 приведен для демонстрации перехода агентов через границу грида.
Пусть в начальный момент агент имеет координаты (2, 0).
Для перехода делаем следующее:
Вычисляем размеры грида.
Вычисляем следующие положение агента с учетом смещения (для случая гексагональной решетки смещение по координатам может быть равно: (0, +1), (0, -1), (+1, 0), (-1, 0), (+1, +1), (+1, -1), (-1, +1), (-1, -1)) не смотря на границы.
Берем целую часть от деления координат следующего положения агента на соответствующие размеры грида.
Перемещаем агента в координаты, равные значениям, вычисленным на предыдущем шаге.
Перечень достоинств использования системы
Построенная решетка основана на квадратной. Это означает, что все модели поведения агентов, написанные под квадратную решетку будет также работать и на гексагональной, которая строится в результате работы генератора.
Перечень недостатков, недоработок и отрицательных особенностей системы
Генератор не был протестирован на реальной модели. Не реализовано изменение количества агентов непосредственно из графического интерфейса, не реализовано изменение размера агентов при увеличении и уменьшении масштаба грида.
Эти недоработки будут устранены позднее, в процессе дальнейшей работы над системой.
Заключение
В результате работы была разработана и реализована программа на языке Java, предназначенная для генерации гексагональной плоской решетки. Реализованный генератор был внедрен в систему имитационного моделированияSimBiGraph.
Его работоспособность была проверена лишь при случайном блуждании, но т.к. при моделировании суть перемещения меняться не будет (будет меняться лишь логика агентов), то можно рассчитывать, что и тогда генератор будет работать корректно.
Список использованных источников
Ларман К. Применение UMLи шаблонов проектирования. 2-е издание – М: Издательский дом «Вильямс», 2004. – 624 с.