Основная цель программы — имитировать работу временных процессов, отслеживать их статус в зависимости от позиции наблюдателя и анализировать временные отношения между процессами для последующего анализа.
- Программа создаёт графический интерфейс с помощью библиотеки PySide6.
- Инициализируется слайдер для управления позицией наблюдателя, кнопки для запуска, остановки и обновления симуляции, а также графическая сцена для отображения событий.
- Генерируются временные события, каждое из которых представлено прямоугольником разного цвета.
- Прямоугольники отображают временные интервалы начала и конца события.
- На сцену добавляется вертикальная красная линия, представляющая позицию наблюдателя.
- При перемещении слайдера обновляется текущее время и проверяется статус каждого события (не началось, идёт, завершено).
- Программа определяет статус каждого события в зависимости от текущего времени и меняет прозрачность прямоугольников:
- Яркий цвет — событие выполняется.
- Полупрозрачный — событие завершено или ещё не началось.
- События генерируются случайным образом с разными временными интервалами.
- Программа анализирует временные отношения между парами событий (например, пересекаются, идут последовательно и т.д.).
- Эти отношения отображаются в таблице.
- Таблица отображает временные отношения между каждой парой событий (например, одно событие начинается после другого или перекрывает его).
- При запуске симуляции слайдер автоматически перемещается каждую секунду, что имитирует движение времени.
- При остановке симуляции таймер приостанавливается.