Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗКурчанов.docx
Скачиваний:
11
Добавлен:
30.03.2015
Размер:
1.13 Mб
Скачать
    1. Аспекты реализации

Для создания графического интерфейса была использована встроенная в JavaбиблиотекиSwingиAWT.

Для компоновки объектов на фрейме в основном использовались менеджеры компоновки BorderLayout,FlowLayout, а также классBox, для создания групп объектов и помещения их на соответствующие панели.

  1. Результаты тестирования

    1. Результаты тестов и их анализ

Т.к. гексагональный грид реализовывался на квадратном, т.е. изменялось лишь отображение, то и переопределять границы не потребовалось и при создании решетки использовался уже имеющийся класс WrapAroundBorders.

В этом классе реализовано несколько функции, для корректного перехода агентов через границы грида.

Рассмотрим пример:

Рисунок 8 – Демонстрация перехода через границы грида

Рисунок 8 приведен для демонстрации перехода агентов через границу грида.

Пусть в начальный момент агент имеет координаты (2, 0).

Для перехода делаем следующее:

  1. Вычисляем размеры грида.

  2. Вычисляем следующие положение агента с учетом смещения (для случая гексагональной решетки смещение по координатам может быть равно: (0, +1), (0, -1), (+1, 0), (-1, 0), (+1, +1), (+1, -1), (-1, +1), (-1, -1)) не смотря на границы.

  3. Берем целую часть от деления координат следующего положения агента на соответствующие размеры грида.

  4. Перемещаем агента в координаты, равные значениям, вычисленным на предыдущем шаге.

    1. Перечень достоинств использования системы

Построенная решетка основана на квадратной. Это означает, что все модели поведения агентов, написанные под квадратную решетку будет также работать и на гексагональной, которая строится в результате работы генератора.

    1. Перечень недостатков, недоработок и отрицательных особенностей системы

Генератор не был протестирован на реальной модели. Не реализовано изменение количества агентов непосредственно из графического интерфейса, не реализовано изменение размера агентов при увеличении и уменьшении масштаба грида.

Эти недоработки будут устранены позднее, в процессе дальнейшей работы над системой.

Заключение

В результате работы была разработана и реализована программа на языке Java, предназначенная для генерации гексагональной плоской решетки. Реализованный генератор был внедрен в систему имитационного моделированияSimBiGraph.

Его работоспособность была проверена лишь при случайном блуждании, но т.к. при моделировании суть перемещения меняться не будет (будет меняться лишь логика агентов), то можно рассчитывать, что и тогда генератор будет работать корректно.

Список использованных источников

  1. Ларман К. Применение UMLи шаблонов проектирования. 2-е издание – М: Издательский дом «Вильямс», 2004. – 624 с.