{"id":19315216,"url":"https://github.com/spicycactuar/ball-impulse","last_synced_at":"2026-04-09T16:46:16.545Z","repository":{"id":261501229,"uuid":"884490667","full_name":"SpicyCactuar/ball-impulse","owner":"SpicyCactuar","description":"Ball impulse against varied terrains","archived":false,"fork":false,"pushed_at":"2024-11-22T20:47:54.000Z","size":78,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-06T03:41:36.074Z","etag":null,"topics":["ball-physics","computer-graphics","cpp","impulse","opengl","qt5"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SpicyCactuar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-06T21:06:14.000Z","updated_at":"2024-11-22T20:47:57.000Z","dependencies_parsed_at":"2024-11-06T22:24:28.952Z","dependency_job_id":"e4b9278f-dbd0-43e3-ac5b-e1fa9ef8b439","html_url":"https://github.com/SpicyCactuar/ball-impulse","commit_stats":null,"previous_names":["spicycactuar/ball-impulse"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpicyCactuar%2Fball-impulse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpicyCactuar%2Fball-impulse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpicyCactuar%2Fball-impulse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpicyCactuar%2Fball-impulse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SpicyCactuar","download_url":"https://codeload.github.com/SpicyCactuar/ball-impulse/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240416941,"owners_count":19797909,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ball-physics","computer-graphics","cpp","impulse","opengl","qt5"],"created_at":"2024-11-10T01:05:18.574Z","updated_at":"2026-04-09T16:46:16.382Z","avatar_url":"https://github.com/SpicyCactuar.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ball Impulse\n\n![ball-impulse](https://github.com/user-attachments/assets/b7f360b6-84b3-424a-afc7-d1e4da8a9506)\n\nQt application showcasing impulse forces acting on a ball.\nDifferent terrains can be swapped for different interactions.\nSphere and dodecahedron ball models are available.\n\n## Project Structure\n\n```plaintext\nball-impulse/\n├── src/                   # Source code\n├── assets/                # Static assets (.dem and .bvh files)\n├── ball-impulse.pro       # QMake project\n└── README.md              # Project README\n```\n\n## Build\n\n```bash\nqmake\nmake\n```\n\n## Run\n\n```bash\nbin/ball-impulse\n```\n\n## Controls\n\n| Key(s)    | Action                             |\n|-----------|------------------------------------|\n| `\u003c` / `\u003e` | Adjust launch angle around +Z      |\n| `L`       | Re-launch ball                     |\n| `W` / `S` | Move camera forwards and backwards |\n| `A` / `D` | Move camera left and right         |\n| `R` / `F` | Move camera up and down            |\n| `Q` / `E` | Yaw camera left and right          |\n| `X`       | Exit application                   |\n\n## Technologies\n\n* **C++**: `\u003e= C++17`\n* **Qt**: `5.12.x`\n* **OpenGL**: `\u003e= 4.0`\n\nNewer versions of Qt might work correctly, if no breaking changes that affect the application were introduced.\n\n## TODOs\n\n* [ ] Proper Dodecahedron impulse computation\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspicycactuar%2Fball-impulse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspicycactuar%2Fball-impulse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspicycactuar%2Fball-impulse/lists"}