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.
JavaFX 20.0.1
JDK-17.0.6.10
- Run
MainSimulation.java
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 | MSSV | Github |
---|---|---|
Vo Dinh Dat | 20214890 | @datvodinh10 |
Tran Quoc De | 20210179 | @tranquocde |
Nguyen Minh Cuong | 20210140 | @sohm2 |
Hoang Thanh Dat | 20214889 | @datht4889 |
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% |
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% |
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% |
Work | Contribute |
---|---|
Design |
25% |
controller/DragDropController |
50% |
controller/StatisticController |
50% |
demo |
100% |
report |
100% |
presentation |
100% |