Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: about 1 month 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 (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-11-06T21:17:37.000Z (about 2 months ago)
- Last Synced: 2024-11-06T22:24:00.606Z (about 2 months ago)
- Topics: ball-physics, computer-graphics, cpp, impulse, opengl, qt5
- Language: C++
- Homepage:
- Size: 74.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)
├── build/ # Generated build files
├── bin/ # Generated executable files
├── ball-impulse.pro # QMake project
└── README.md # Project README
```## Build
```bash
qmake
make
```## Run
```bash
bin/ball-impulse
```## 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.
## Showcase
![ball-impulse](https://github.com/user-attachments/assets/b7f360b6-84b3-424a-afc7-d1e4da8a9506)
## 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 |## TODOs
* [ ] Proper Dodecahedron impulse computation