ImGUI force directed graph visualization (OOP Lab1 Semester2)
The used stack allows the compilation of the project to both Desktop and WebAssembly targets. You can test the WebAssembly build at https://roma160.github.io/OOP_LAB2_sem2/.
demo_pc.mp4
(The project configuration was taken from here: https://github.com/Pesc0/imgui-cmake.git)
As this project uses several external libs (ImGui, SDL), to build the project you will first need to init the git submodules:
git submodule update --init --recursiveCMake is used for the project building.
Then building for PC would be done as usual:
# Generate the CMake cache
cmake -S "." -B "./build"
# Build the sources
cmake --build "./build" --target maindemo_web.mp4
General guidelines could be found and was stolen from here: https://stunlock.gg/posts/emscripten_with_cmake/
The steps for the build are:
- Install the Emscripten compiler and setup the Env variables (follow the link above for more detailed instructions);
- Open the terminal in admin mode and go the source dir. Now use following commands:
# Configure the build folder
emcmake cmake -S . -B ./build/emscripten_build
# Build the main target
cmake --build ./build/emscripten_build --target main- If there are no errors, this must be the thing. Now you could serve a Python server from a
docsfolder:
python -m http.server --directory ./docs 8000--wheel- by default mouse wheel event is disable, but you can use this flag to enable it back--light- flag to force the light theme--dark- flag to force the dark theme
- Обхід графа - пошук в ширину (10%) - code
- Обхід графа - пошук в глибину (10%) - code
- Алгоритм Пріма побудови мінімального кістякового дерева (10%) - code
- Алгоритм Дейкстри пошуку найкоротших шляхів (10%) - code
- Алгоритм A* пошуку найкоротших шляхів (10%) - code
- Алгоритм Форда-Фалкерсона пошуку максимального потоку (10%) - code
- Двонапрямлений алгоритм Дейкстри для пошуку потенційних друзів в соціальній мережі — тести на запропонованих даних (20%) - code
- Двонапрямлений алгоритм A* пошуку оптимального шляху на транспортній мережі — тести на запропонованих даних (20%) - code