{"id":21619602,"url":"https://github.com/ekarton/java-physics-engine","last_synced_at":"2025-04-11T08:45:35.672Z","repository":{"id":56388848,"uuid":"116282279","full_name":"EKarton/Java-Physics-Engine","owner":"EKarton","description":"A project comprised of a 2D Java Physics Engine API and a Java GUI Application.","archived":false,"fork":false,"pushed_at":"2024-08-19T23:19:19.000Z","size":1926,"stargazers_count":6,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T06:14:25.671Z","etag":null,"topics":["java","physics","physics-2d","physics-engine","physics-simulation","swing-gui"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EKarton.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}},"created_at":"2018-01-04T16:28:18.000Z","updated_at":"2024-11-24T04:06:13.000Z","dependencies_parsed_at":"2022-08-15T17:50:31.734Z","dependency_job_id":null,"html_url":"https://github.com/EKarton/Java-Physics-Engine","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EKarton%2FJava-Physics-Engine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EKarton%2FJava-Physics-Engine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EKarton%2FJava-Physics-Engine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EKarton%2FJava-Physics-Engine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EKarton","download_url":"https://codeload.github.com/EKarton/Java-Physics-Engine/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248362810,"owners_count":21091205,"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":["java","physics","physics-2d","physics-engine","physics-simulation","swing-gui"],"created_at":"2024-11-24T23:09:28.531Z","updated_at":"2025-04-11T08:45:35.644Z","avatar_url":"https://github.com/EKarton.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Java Physics Engine\n\n[![Build Status](https://travis-ci.com/EKarton/Java-Physics-Engine.svg?branch=develop-v2.0.0)](https://travis-ci.com/EKarton/Java-Physics-Engine) [![codecov](https://codecov.io/gh/EKarton/Java-Physics-Engine/branch/develop-v2.0.0/graph/badge.svg)](https://codecov.io/gh/EKarton/Java-Physics-Engine)\n\n### Description\nThe Java Physics Engine aims to incorporate physics capabilities to any Java projects easily. Equipped with advanced physics and object collision algorithms, the Java Physics Engine can simulate and handle object collisions realistically in 2D space. The sky is the limit when it comes to creating games with the Java Physics Engine!\n\nThe Java Physics Engine is a project made during my final year in high school. The project is comprised of two components: the Java Physics Engine API and the Java Physics Engine GUI Editor. \n\n### Table of Contents\n- Walkthrough\n- Installation\n- Usage\n- Credits\n- License\n\n### Walkthrough of this project\nThis project consists of several components, each responsible for performing a certain task. The image below illustrates the system architecture of the project.\n\u003cdiv width=\"100%\"\u003e\n    \u003cp align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/EKarton/Java-Physics-Engine/develop-v2.0.0/docs/Images/SystemArchitecture.PNG\" width=\"600px\"/\u003e\n    \u003c/p\u003e\n\u003c/div\u003e\n\nWhen a user launches the GUI editor, they will be able to create objects using the GUI editor:\n\u003cdiv width=\"100%\"\u003e\n    \u003cp align=\"center\"\u003e\n    \u003cimg src=\"docs/Images/Main-Screen.png\"/\u003e\n    \u003c/p\u003e\n\u003c/div\u003e\n\nWhen the user clicks on the \"Run Simulation\" button (in the menu bar), they will be able to see the simulation of their objects:\n\u003cdiv width=\"100%\"\u003e\n    \u003cp align=\"center\"\u003e\n    \u003cimg src=\"docs/Images/Simulation-Window.png\"/\u003e\n    \u003c/p\u003e\n\u003c/div\u003e\n\n### Installation\n##### Required Programs and Tools:\n- Java SDK \u003e= 1.8\n\n##### Running the program through the command line\n- Open the terminal and change the directory to the root project directory.\n- Run the command ```mvn clean install```.\n- Change directories to ```gui/target```.\n- Run the GUI editor by changing directories to ```gui/target``` and running the command ```java -jar gui-2.0.jar```.\n\n##### Experimental\n- You can run the tests in parallel by executing ```mvn -T 1C surefire:test``` instead of ```mvn clean install test```\n- You can also disable running the tests by executing ```mvn clean install -DskipTests=true``` instead of ```mvn clean install```\n\n### Usage\nPlease note that this project is used for educational purposes and is not intended to be used commercially. We are not liable for any damages/changes done by this project.\n\n### Credits\nEKarton\n\n### License\nThis project is protected under the GNU licence. Please refer to the Licence.txt for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fekarton%2Fjava-physics-engine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fekarton%2Fjava-physics-engine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fekarton%2Fjava-physics-engine/lists"}