Недавно библиотека визуализации графиков `egui_graphs`, написанная на rust и работающая на базе `egui` для пользовательского интерфейса и `petgraph` в качестве серверной части `graph`, вышла в версии 0.3.0. Чтобы отпраздновать эту веху, я хотел бы продемонстрировать, насколько просто визуализировать граф и добавить интерактивности с помощью этого инструмента. Шаг 1: Настройка структуры `InteractiveApp`. Сначала давайте определим структуру `InteractiveApp`, которая будет содержать граф. Шаг 2: Реализация функции `new()`. Далее давайте реализуем функцию `new()` для структуры `BasicApp`. Здесь мы вызываем функцию `generate_graph()`. Допустим, нам нужно 30 узлов и 60 ребер. Шаг 3: Функция случайного графа. Теперь мы создаем функцию generate_graph. Шаг 4: Реализация функции update(). Теперь давайте реализуем функцию `update()` для нашего `Interactiveapp`. Эта функция создает виджет `egui_graphs::GraphView`, предоставляющий изменяемую ссылку на наш граф, и добавляет его в `egui::CentralPanel