Skip to content

Semi implicit Euler implementation in C++ to simulate interaction of N-Body objects

License

Notifications You must be signed in to change notification settings

TimGoTheCreator/CxxGRAV

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CxxGRAV

A Graphical Semi implicit Euler implementation in C++ to simulate interaction of N-Body objects

CI Language License Discord

CxxGRAV is built on top of the RayLib Library

Three Body Problem

Roadmap

  • Priority 1: Add particles by clicking
  • Priority 2: Galaxy simulation
  • Priority 3: Barnes–Hut
  • Priority 4: macOS support

Roadmap (Finished)

  • 1 Camera, UI (DONE)

How to install Dependencies (Windows)

Install MSYS2 From msys2.org then open the MinGW64 shell and type

pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-make

MSVC Dependencies

For MSVC (CL Compiler) builds, Visual Studio 2022 with C++ Desktop Development workload is required. Raylib and other system dependencies are auto-downloaded by CMake.

Quick start (For all Operating Systems)

git clone https://github.com/TimGoTheCreator/CxxGRAV.git
cd CxxGRAV
mkdir build
cd build
cmake ..
cmake --build . 
cd bin
./CxxGRAV

For this, Git is required Note: for MSVC the directory of the binary output might change to Debug

How to install Dependencies (Ubuntu/Debian)

sudo apt update
sudo apt install build-essential git cmake pkg-config \
    libasound2-dev libx11-dev libxrandr-dev libxi-dev \
    libgl1-mesa-dev libglu1-mesa-dev libxcursor-dev libxinerama-dev \
    libwayland-dev libxkbcommon-dev

How to install Dependencies (Fedora)

sudo dnf install gcc make git cmake \
    alsa-lib-devel mesa-libGL-devel libX11-devel libXrandr-devel \
    libXi-devel libXcursor-devel libXinerama-devel libatomic

How to install Dependencies (Arch Linux)

sudo pacman -S gcc make git cmake \
    libx11 libxrandr libxi libxcursor libxinerama mesa