Coder Social home page Coder Social logo

java-physic-simulation's Introduction

OOP.DSAI.20222.05

Table of Contents

Background

This project is an interactive simulation designed to demonstrate Newton's laws of motion. It allows users to control a physical system consisting of a main object, a surface, and an actor, and observe the resulting motion of the main object. The simulation provides a graphical user interface (GUI) similar to the reference provided, allowing users to manipulate various parameters and visualize the forces at play.

Installation

Requirement

JavaFX 20.0.1
JDK-17.0.6.10

Run

  • Run MainSimulation.java

Structure

Click to show Details
│   .gitignore
│   LICENSE
│   README.md
│   
├───.vscode
│       launch.json
│       settings.json
│       
├───demo
│       Demo.mov
│
├───design
│       .DS_Store
│       Controller diagram 1.png
│       Controller Diagram 2.png
│       Controller.asta
│       force_class_diagram.asta
│       force_diagram.png
│       general_class_diagram.asta
│       general_class_diagram.png
│       model_diagram.asta
│       model_diagram.png
│       Object Diagram.png
│       Object_diagram.asta
│       Surface Diagram.png
│       Surface_diagram.asta
│       usecase_diagram.asta
│       usecase_diagram.png
│
├───presentation
│       OOP_Presentation.pptx
│
├───report
│       OOP_report.pdf
│
└───sourcecode
    │   .DS_Store
    │   README.md
    │
    ├───lib
    └───src
        │   MainSimulation.java
        │
        ├───controller
        │       AnimationController.java
        │       CheckBoxController.java
        │       DragDropController.java
        │       MainSimulationController.java
        │       StatsController.java
        │       SurfaceController.java
        │       WelcomePage.java
        │
        ├───css
        │       style.css
        │
        ├───img
        │       appIcon.png
        │       applyForceArrow.png
        │       background.jpg
        │       cloud.png
        │       cube.png
        │       cylinder.png
        │       demo_gif.gif
        │       frictionForceArrow.png
        │       mountains.png
        │       negativeApplyForceArrow.png
        │       negativeFrictionForceArrow.png
        │       negativeSumForceArrow.png
        │       sumForceArrow.png
        │       surface.png
        │
        ├───model
        │   ├───force
        │   │       AppliedForce.java
        │   │       Force.java
        │   │       ForceSimulation.java
        │   │       FrictionForce.java
        │   │       Vector.java
        │   │
        │   ├───object
        │   │       Cube.java
        │   │       Cylinder.java
        │   │       MainObject.java
        │   │
        │   └───surface
        │           Surface.java
        │
        └───view
                About.fxml
                CheckBox.fxml
                ForcePanel.fxml
                MainSimulation.fxml
                Stats.fxml
                SurfacePanel.fxml
                Welcome.fxml

Member

Member MSSV Github
Vo Dinh Dat 20214890 @datvodinh10
Tran Quoc De 20210179 @tranquocde
Nguyen Minh Cuong 20210140 @sohm2
Hoang Thanh Dat 20214889 @datht4889

Contributing

1. Vo Dinh Dat

Work Contribute
Design 25%
model/object/MainObject 100%
model/object/Cylinder 100%
model/force/ForceSimulation 25%
controller/AnimationController 70%
controller/DragDropController 50%
controller/MainSimulationController 50%
controller/WelcomePage.java 100%
view/MainSimulation.fxml 75%
view/Welcome.fxml 100%
view/ForcePanel.fxml 50%

2. Tran Quoc De

Work Contribute
Design 25%
model/object/Cube 100%
model/surface 100%
controller/AnimationController 30%
controller/MainSimulationController 25%
controller/StatisticController 50%
controller/CheckboxController 100%
controller/SurfaceController 100%
view/StatsPanel 100%
view/Checkbox 100%

3. Nguyen Minh Cuong

Work Contribute
Design 25%
model/force/AppliedFoce 100%
model/force/Force 100%
model/force/ForceSimulation 75%
model/force/FrictionForce 100%
model/force/Vector 100%
controller/MainSimulationController 25%
view/ForcePanel.fxml 50%
view/MainSimulation.fxml 25%

4. Hoang Thanh Dat

Work Contribute
Design 25%
controller/DragDropController 50%
controller/StatisticController 50%
demo 100%
report 100%
presentation 100%

java-physic-simulation's People

Contributors

datvodinh avatar sohm27 avatar tranquocde avatar datht4889 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.