Utilities for generating and visualizing a configuration space with 3D obstacles to test pathfinding algorithms
Визуализатор конфигурационных пространств представляет собой Java-приложение, написанное с помощью библиотеки JavaFX. Дополнительными зависимостями является библиотека Jackson для работы с JSON. Описание формата данных приведено здесь.
Кроссплатформенный исполняемый jar-файл приложения visualizer.jar можно загрузить отсюда.
Для запуска визуализатора необходима установленная Java версии не ниже 8.
Приложение визуализатора состоит из 2 частей:
При запуске визуализатора открывается окно для выбора файла конфигурационного пространства в формате JSON. После загрузке сцены пользователю предоставляется возможность перемещения по сцене при помощи мыши и управляющих клавиш. Для загрузки пути необходимо нажать кнопку “Проверить путь” и выбрать JSON-файл пути. После загрузки выбранного файла производится проверка на наличие пересечений с препятсвиями, и, если пересечения будут обнаружены, в верхней части окна появится соответствующая надпись.
3D-сцена позволяет отображать загруженное конфигурационное пространство, путь и осуществлять перемещение по сцене.
В визуализаторе используются следующие клавиши:
W - перемещение впередA - перемещение влевоS - перемещение назадD - перемещение вправоSpace - перемещение вверхCtrl - перемещение внизShift - модификатор шага перемещения (при зажатой клавише увеличивается расстояние, на которое перемещается камера)Esc- выход из программыВсе перемещения выполняются при учете направления камеры. Вращение камеры осуществляется путем зажатия любой клавиши мыши и поворотом мыши в соответствующее движению направление без инверсии.
Пример сцены с загруженными конфигурационным пространством и путем из папки examples:

Щелчок по любому из препятствий изменяет его отображение со сплошного на отображение ребер и наоборот:

Для проверки пересечения загружается файл, содержащий точки пути в формате JSON. Пример файла пути имеется в папке examples.
После разбора файла визуализатор отображает заданный путь на сцене и показывает наличие пересечений с препятствиями.
При установке флага “Показать пересечения” препятствия, с которыми произошло пересечение, будут окрашены в красный цвет.
После нажатия на кнопку “Очистить путь” можно выбрать новый файл для загруки пути:

Визуализатор реализован на языке Java, для сборки визуализатора из исходных файлов требуется установленный JDK.
Для сборки в IntelliJ IDEA необходимо выполнить импортирование проекта из папки visualizer.
В настройках импорта выбрать Import project form external model и указать на Maven.
Во всех последующих диалоговых окнах можно остатавлять параметры по умолчанию и нажимать на Next.
После завершения импорта на панели Maven Projects зайти в раздел Plugins, подраздел assembly и, щелкнув по пункту assembly:single, установить выполнения после сборки After Build.
Для добавления конфигурации достаточно выбрать Run в контексном меню основного класса приложения ObstacleVisualizer в окне дерева проекта.
Документация по исходному коду визуализатора может быть получена при помощи Javadoc.
Для корректной генерации необходимы следующие аргументы: -encoding UTF-8 -docencoding UTF-8 -charset UTF-8.