Physics project done by two students in almost 4 days for a Damascus University project


A physical simulation for the movement of satellites’ orbits in relation to Earth done for a university project. using JavaScript and three.js for the graphical output and physical calculations and lil-gui for the control interface.

Code Classes

the main components of the source are:


for a graphical representation of the affecting forces and the orbit of the satellite


includes all the physical constants needed for the simulation


includes all functions that relate to rendering and output of the environment with its planet, sun, moon and stars skybox.


pretty much self explanatory.


the real deal, houses all of the physical calculations needed for the simulation.

huge thanks to @IyadAlanssary for his efforts in making the code clean

How to run the project

visit to try.

(Huge thx to @Rami-Sabbagh for helping in this).


make sure you have node.js installed and install three.js with

npm install three

and run the project to local host with

npm run dev

the main controls of the simulation are all through the provided GUI.

we will deliver a web hosted instant-try version asap!

This project was made with the efforts of my partner @IyadAlanssary and me @RedWn

thx to @tarook0, @Hamsho and @Maias-Alakramy for additional help

How to help?

this is pretty much our very first try in webGL and JS and we welcome any criticism, help, tips or any way we can improve our skills

As for the license

we hope this project will deliver some help and be of any value to anyone trying to get into three.js, physical calculations or really any subject of knowledge that we encountered here.



View Github