{"id":18736878,"url":"https://github.com/bitwizeshift/glut-solar-system-simulation","last_synced_at":"2025-07-14T02:34:06.149Z","repository":{"id":81485379,"uuid":"415148759","full_name":"bitwizeshift/glut-solar-system-simulation","owner":"bitwizeshift","description":"A very old high-school project that simulates the solar system using physics equations","archived":false,"fork":false,"pushed_at":"2021-10-08T23:19:17.000Z","size":24,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-20T02:14:25.281Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bitwizeshift.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2021-10-08T23:08:17.000Z","updated_at":"2021-10-08T23:34:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"fb245ee3-1c21-468e-b0e0-0b4a308fb0e3","html_url":"https://github.com/bitwizeshift/glut-solar-system-simulation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bitwizeshift/glut-solar-system-simulation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitwizeshift%2Fglut-solar-system-simulation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitwizeshift%2Fglut-solar-system-simulation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitwizeshift%2Fglut-solar-system-simulation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitwizeshift%2Fglut-solar-system-simulation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bitwizeshift","download_url":"https://codeload.github.com/bitwizeshift/glut-solar-system-simulation/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bitwizeshift%2Fglut-solar-system-simulation/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265233753,"owners_count":23731825,"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":[],"created_at":"2024-11-07T15:22:51.694Z","updated_at":"2025-07-14T02:34:06.115Z","avatar_url":"https://github.com/bitwizeshift.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenGL Solar System Simulation\n\nThis is an OpenGL application (specifically, Glut) that uses precise Newtonian\nphysics equations to compute and simulate gravitational pull of objects in the\nsolar system. Specifically, this uses known data of planetary coordinates,\nvelocities, and accelerations to seed the model, and simply calculates,\nsimulates, and displays the gravitational effects on the planets.\n\nThis was authored back while I was in high-school in 2011. The design of this\ndoes *not* reflect the qualify of code or decisions that would be made if this\nwere to be done again from scratch. In particular, I wrote this more like a C\nprogram than C++ program.\n\n⚠️ _**This project is not maintained, and is only here for visibility**_\n\n\u003csup\u003eHonestly though, I had fun writing this.\u003c/sup\u003e\n\n![Solar System Preview](docs/solar-system-preview.png)\n\n## Controls\n\n* \u003ckbd\u003e←\u003c/kbd\u003e: Focuses the camera on the previous celestial body\n* \u003ckbd\u003e→\u003c/kbd\u003e: Changes camera on the next celestial body\n* \u003ckbd\u003e↑\u003c/kbd\u003e: Zooms in\n* \u003ckbd\u003e↓\u003c/kbd\u003e: Zooms out\n* \u003ckbd\u003eq\u003c/kbd\u003e: Speeds up the simulation\n* \u003ckbd\u003ea\u003c/kbd\u003e: Slows down the simulation\n\n## Building\n\n### Requirements\n\nMake sure that you have OpenGL and Glut or FreeGlut libraries installed.\n\n### Ubuntu\n\n```bash\nsudo apt install -y freeglut3-dev\n```\n\n### Windows (msys2 mingw)\n\n```bash\n# Assuming x86_64\npacman -S mingw-w64-x86_64-freeglut\n```\n\n## Build Steps\n\nThis project can be built with standard [CMake](https://cmake.org/)\n\n```bash\nmkdir build\ncd build\ncmake ..\ncmake --build .\n```\n\nThe resultant binary will be named `SolarSystem` (or `SolarSystem.exe` on\nWindows)\n\n\n## Known Issues\n\n* The simulation is not frame-locked (adaptive or otherwise)meaning that the\n  computation will go as fast as the underlying processor will compute it\n\n* Scale factors are applied to the physics values themselves, which -- for\n  smaller scales, is fine, but for larger scales will cause the planets to fly\n  off into the great unknown.\n\n* There are definitely more bugs than just this. Without a doubt.\n\n## License\n\n\u003e The MIT License (MIT)\n\u003e\n\u003e Copyright (c) 2011 Matthew Rodusek\n\u003e\n\u003e Permission is hereby granted, free of charge, to any person obtaining a copy\n\u003e of this software and associated documentation files (the \"Software\"), to deal\n\u003e in the Software without restriction, including without limitation the rights\n\u003e to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n\u003e copies of the Software, and to permit persons to whom the Software is\n\u003e furnished to do so, subject to the following conditions:\n\u003e\n\u003e The above copyright notice and this permission notice shall be included in all\n\u003e copies or substantial portions of the Software.\n\u003e\n\u003e THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n\u003e IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n\u003e FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n\u003e AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n\u003e LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n\u003e OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n\u003e SOFTWARE.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitwizeshift%2Fglut-solar-system-simulation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbitwizeshift%2Fglut-solar-system-simulation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbitwizeshift%2Fglut-solar-system-simulation/lists"}