Thanks to visit codestin.com
Credit goes to github.com

Skip to content

roma160/OOP_LAB2_sem2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Building process

(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 --recursive

CMake 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 main

Emscripten build (WebAssembly)

demo_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:

  1. Install the Emscripten compiler and setup the Env variables (follow the link above for more detailed instructions);
  2. 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
  1. If there are no errors, this must be the thing. Now you could serve a Python server from a docs folder:
python -m http.server --directory ./docs 8000

Console arguments

  • --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

Алгоритми роботи з графами

  1. Обхід графа - пошук в ширину (10%) - code
  2. Обхід графа - пошук в глибину (10%) - code
  3. Алгоритм Пріма побудови мінімального кістякового дерева (10%) - code
  4. Алгоритм Дейкстри пошуку найкоротших шляхів (10%) - code
  5. Алгоритм A* пошуку найкоротших шляхів (10%) - code
  6. Алгоритм Форда-Фалкерсона пошуку максимального потоку (10%) - code
  7. Двонапрямлений алгоритм Дейкстри для пошуку потенційних друзів в соціальній мережі — тести на запропонованих даних (20%) - code
  8. Двонапрямлений алгоритм A* пошуку оптимального шляху на транспортній мережі — тести на запропонованих даних (20%) - code

About

Real-time force directed graph visualization (a part of LAB2 of the 2nd semester of OOP course)

Resources

Stars

Watchers

Forks

Packages

No packages published