Перейти к контенту

Анализ графа лагерей Чистого неба


Рекомендуемые сообщения

Программа stga.exe предназначена для анализа и визуализации графа смарт-террейнов проекта "Чистое небо". Она строит ориентированный граф, где лагери представлены в виде вершин, а их взаимосвязи - в виде рёбер, выводит в лог список потенциально проблемных вершин, и позволяет сохранить визуализацию в файл .png или .svg (последний формат интерактивный и позволяет увидеть содержимое лагеря).

Для визуализации используется движок Graphviz.
Программа написана на C++20, собрана в MVS2022CE, требует зависимости для этой версии.


Установка и использование

1. Скачать и установить Graphviz , проследить, чтобы он добавился в переменную PATH
2. Скопировать .ltx-конфиги (если пишете лагеря в них) и/или файлы spawn.part (если пишете лагеря через LE) в папку с программой
3. Запустить stga.exe
4. Посмотреть на вывод в консоли
5. Открыть в папке с программой файл с расширением .png или .svg

Конфиг программы снабжён комментариями и в подробных пояснениях не нуждается.

 

Краткая справка по графу и принятым обозначениям

Под вершиной имеется в виду лагерь (смарт-террейн), под ребром - направленная связь между двумя лагерями.

Висячие вершины бывают двух типов:
- стоки (имеют входящие связи, но не имеют исходящих; выделены оранжевой обводкой)
- источники (имеют исходящие связи, но не имеют входящих; выделены оранжевой обводкой)

Изолированная вершина не имеет ни входящих, ни исходящих связей; она никак не связана с другими вершинами. Такие вершины существуют в "Чистом небе", их наличие не является ошибкой. Выделены красной заливкой.

Под виртуальной вершиной имеется в виду такая вершина, которая упомянута в параметре targets, но отсутствует в файлах .ltx и/или .part. Такие вершины - явный признак ошибки, либо неполного графа. Выделены оранжевой пунктирной обводкой.

Пурпурной жирной обводкой выделяются важные вершины (important_point=true).


Зелёным цветом обозначены двунаправленные рёбра, синим - однонаправленные. Это корректные связи.

Красным цветом выделяются рёбра, ведущие в вершину-сток. Это опасный случай: если отряд направится в такую вершину, то симуляция рухнет.

Дублирование рёбер выделяется утолщённой пунктирной линией и числовой меткой (чем больше вес ребра, тем толще линия; число обозначает вес).


Поддержка

Вопросы, предложения, обновления - в теме на форуме xray-engine.org или здесь.

 

Цветастое ридми на вике

 

  • Полезно 1
Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...