https://github.com/spicycactuar/ball-impulse
Ball impulse against varied terrains
https://github.com/spicycactuar/ball-impulse
ball-physics computer-graphics cpp impulse opengl qt5
Last synced: 2 months ago
JSON representation
Ball impulse against varied terrains
- Host: GitHub
- URL: https://github.com/spicycactuar/ball-impulse
- Owner: SpicyCactuar
- Created: 2024-11-06T21:06:14.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-22T20:47:54.000Z (over 1 year ago)
- Last Synced: 2025-01-06T03:41:36.074Z (over 1 year ago)
- Topics: ball-physics, computer-graphics, cpp, impulse, opengl, qt5
- Language: C++
- Homepage:
- Size: 76.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Ball Impulse

Qt application showcasing impulse forces acting on a ball.
Different terrains can be swapped for different interactions.
Sphere and dodecahedron ball models are available.
## Project Structure
```plaintext
ball-impulse/
├── src/ # Source code
├── assets/ # Static assets (.dem and .bvh files)
├── ball-impulse.pro # QMake project
└── README.md # Project README
```
## Build
```bash
qmake
make
```
## Run
```bash
bin/ball-impulse
```
## Controls
| Key(s) | Action |
|-----------|------------------------------------|
| `<` / `>` | Adjust launch angle around +Z |
| `L` | Re-launch ball |
| `W` / `S` | Move camera forwards and backwards |
| `A` / `D` | Move camera left and right |
| `R` / `F` | Move camera up and down |
| `Q` / `E` | Yaw camera left and right |
| `X` | Exit application |
## Technologies
* **C++**: `>= C++17`
* **Qt**: `5.12.x`
* **OpenGL**: `>= 4.0`
Newer versions of Qt might work correctly, if no breaking changes that affect the application were introduced.
## TODOs
* [ ] Proper Dodecahedron impulse computation