{"id":26711755,"url":"https://github.com/shermanlo77/physicssim","last_synced_at":"2025-08-05T22:33:15.686Z","repository":{"id":153071928,"uuid":"403376748","full_name":"shermanlo77/physicssim","owner":"shermanlo77","description":"A Java port of a high school physics computing project. The original source code was in Processing. Simulations include circular orbits around the sun, general orbits around the Earth and the Doppler effect. ","archived":false,"fork":false,"pushed_at":"2021-09-13T19:18:55.000Z","size":606,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-28T11:44:17.835Z","etag":null,"topics":["doppler-effect","orbit","physics-simulation","processing-sketch"],"latest_commit_sha":null,"homepage":"","language":"Java","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/shermanlo77.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-09-05T17:53:24.000Z","updated_at":"2023-10-08T17:16:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"7c081634-ad50-4fbc-99a0-bc8168f99815","html_url":"https://github.com/shermanlo77/physicssim","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/shermanlo77/physicssim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shermanlo77%2Fphysicssim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shermanlo77%2Fphysicssim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shermanlo77%2Fphysicssim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shermanlo77%2Fphysicssim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shermanlo77","download_url":"https://codeload.github.com/shermanlo77/physicssim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shermanlo77%2Fphysicssim/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268986006,"owners_count":24340566,"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","status":"online","status_checked_at":"2025-08-05T02:00:12.334Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["doppler-effect","orbit","physics-simulation","processing-sketch"],"created_at":"2025-03-27T10:33:45.509Z","updated_at":"2025-08-05T22:33:15.609Z","avatar_url":"https://github.com/shermanlo77.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# physicssim\n\nMIT License\n\nCopyright (c) 2008-2021 Sherman Lo\n\nA *Java* port of a high school physics/computing project. The original source code was in *Processing*.\n\n## How to use\nDownload from the `.jar` file from the release or compile it using the instructions below. Call the `.jar` file using\n```\njava -jar physicssim-1.0.0-jar-with-dependencies.jar -option\n```\nwhere `-option` can be one of the following options below.\n\n## `-orbit` Planetary Orbit\n\nThis simulation simulates planets orbiting the sun and it explains about circular motion and how it is used to derive one of Kepler's law.\n\u003cbr\u003e\n\u003cimg src=\"images/orbit.png\"\u003e\n\n## `-satellite` Satellite Manoeuvres\n\nThis simulation simulates satellites being affected by the Earth's gravitational field and derives equations for gravitational force, field strength and potential.\n\u003cbr\u003e\n\u003cimg src=\"images/satellite.png\"\u003e\n\n## `-doppler` Doppler Shift\n\nThis  simulation simulates electromagnetic waves being emitted from a moving source and derives equations for the Doppler Shift.\n\u003cbr\u003e\n\u003cimg src=\"images/doppler.png\"\u003e\n\n## How to compile (Linux recommended)\n*Maven* required.\n\nClone this repository.\n\nGo to the repository and run\n```\nmvn package\n```\nand the `.jar` files are located in `target/`.\n\n## `-orbit` Planetary Orbit\n\n\u003cp\u003e\n  The simulation simulates planets orbiting a sun.\n  \u003cbr\u003e\n  This simulation assumes that:\n  \u003cul\u003e\n    \u003cli\u003eAll planetary orbits are perfectly circular and obeys Kepler's laws\u003c/li\u003e\n    \u003cli\u003eOnly the orbital speed changes and the radius of the orbit is kept the same when the mass of the sun changes\u003c/li\u003e\n    \u003cli\u003eAll planets are particles and have no mass or dimensions\u003c/li\u003e\n    \u003cli\u003ePlanets can pass through each other\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/p\u003e\n\n### Interface\n\u003cimg src=\"images/orbit/1.png\" width=\"580\" height=\"300\" alt=\"Interface\"\u003e\n\u003cp\u003e\n  The interface in this simulation consist of two sides, the left hand side shows the simulation and the right hand side shows the control panel. The status bar on the browser displays the frame rate the simulation is performing, a frame rate of 60 is considered satisfactory.\n\u003c/p\u003e\n\n\u003ctable\u003e\n  \u003c!--Row 1--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n      \u003cth\u003eSimulations functions\u003c/th\u003e\n    \u003c!--Column 2--\u003e\n      \u003cth\u003eDiagram\u003c/th\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 2--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      Left click to create an anti-clockwise orbiting planet.\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/orbit/2.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 3--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      Right click to create a clockwise orbiting planet.\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/orbit/3.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cbr\u003e\n\n\u003ctable\u003e\n  \u003c!--Row 1--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003cth\u003eControl panel functions\u003c/th\u003e\n    \u003c!--Column 2--\u003e\n    \u003cth\u003eDiagram 1 \u003c/th\u003e\n    \u003c!--Column 3--\u003e\n    \u003cth\u003eDiagram 2\u003c/th\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 2--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      \u003cb\u003eRadius\u003c/b\u003e\u003cbr\u003e\u003c/br\u003e\n      The distance between the mouse and the centre of the sun is displayed as shown in the diagram 1.\n      \u003cbr\u003e\u003c/br\u003e\n      Diagram 2 shows how the distance is measured.\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/orbit/4a.png\"\u003e\u003c/td\u003e\n    \u003c!--Column 3--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/orbit/4b.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 3--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      \u003cb\u003eMass of the sun\u003c/b\u003e\u003cbr\u003e\u003c/br\u003e\n      The mass of the sun is as shown in diagram 1.\n      \u003cbr\u003e\u003c/br\u003e\n      It can be edited as shown in diagram 2, click on it and press backspace to delete the variable. Press the number keys to change the variable. Hit enter to return the variable.\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/orbit/5a.png\"\u003e\u003c/td\u003e\n    \u003c!--Column 3--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/orbit/5b.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 4--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      \u003cb\u003eData display\u003c/b\u003e\u003cbr\u003e\u003c/br\u003e\n      The display data drop down menu, diagram 1, allows selected data of each planet to be shown, diagram 2, from the following:-\n      \u003cul\u003e\n        \u003cli\u003eRadius of orbit\u003c/li\u003e\n        \u003cli\u003eOrbit speed\u003c/li\u003e\n        \u003cli\u003eCentripetal acceleration\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/orbit/6a.png\"\u003e\u003c/td\u003e\n    \u003c!--Column 3--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/orbit/6b.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 5--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      \u003cb\u003eTime scale\u003c/b\u003e\u003cbr\u003e\u003c/br\u003e\n      The time scale is as shown in diagram 1.\n      \u003cbr\u003e\u003c/br\u003e\n      It can be edited as shown in diagram 2, click on it and press backspace to delete the variable. Press the number keys to change the variable. Hit enter to return the variable.\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/orbit/7a.png\"\u003e\u003c/td\u003e\n    \u003c!--Column 3--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/orbit/7b.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 6--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      \u003cb\u003ePause/play button\u003c/b\u003e\u003cbr\u003e\u003c/br\u003e\n      The pause/play button will pause or unpause the simulation.\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/orbit/8.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 7--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      \u003cb\u003eReset button\u003c/b\u003e\u003cbr\u003e\u003c/br\u003e\n      The reset button will reset the simulation to its initial state.\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/orbit/9.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 8--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      \u003cb\u003eChange colour button\u003c/b\u003e\u003cbr\u003e\u003c/br\u003e\n      The change colour button changes the colour scheme of the simulation from a selection of :\n      \u003cul\u003e\n        \u003cli\u003eBlack\u003c/li\u003e\n        \u003cli\u003eWhite\u003c/li\u003e\n        \u003cli\u003eBlue\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/orbit/10.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- Background physics --\u003e\n\u003ch3\u003eBackground physics\u003c/h3\u003e\n\u003cp\u003eOne of Kepler's laws state that the time of obit squared is directly proportional to the average radius of the orbit cubed, ie \u003cimg src=\"images/orbit/11.png\"\u003e. Sir Isaac Newton proved this law by using his equation of circular motion with the equation for gravitational force.\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"images/orbit/12.png\" align=\"middle\"\u003e\u003c/p\u003e\n\u003cp\u003e\n  This simulation's algorithm is somewhat based on Kepler's law but it is mainly based on Newton's equation of circular motion to find the angular velocity. The angular velocity is then used to change the angular displacement of each planet.\n\u003c/p\u003e\n\u003cp\u003e\u003cimg src=\"images/orbit/13.png\"\u003e\u003c/p\u003e\n\u003cp\u003e\n  So using the equation \u003cimg src=\"images/orbit/14.png\" align=\"middle\"\u003e, the angular displacement of each planet is updated.\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n\u003c!-- FAQ --\u003e\n\u003ch3\u003eScientific FAQ\u003c/h3\u003e\n\n\u003cul\u003e\n  \u003cli\u003e\n    Why can't you change the mass of the planet?\n    \u003cul\u003e\u003cli\u003e\n      The orbital speed does not depend on the mass of the planet, therefore it is not necessary to change the mass of the planet.\n    \u003c/li\u003e\u003c/ul\u003e\n  \u003c/li\u003e\u003cbr\u003e\n\n  \u003cli\u003e\n    Can this simulation be used to model the solar system?\n    \u003cul\u003e\u003cli\u003e\n      Yes but only the inner solar system planets can be used in this simulation. This is because the scale of the whole of the solar system is so huge that it is impractical to model this.\n    \u003c/li\u003e\u003c/ul\u003e\n  \u003c/li\u003e\u003cbr\u003e\n\n  \u003cli\u003e\n    What should happen if the mass of the sun changes?\n    \u003cul\u003e\u003cli\u003e\n      If the sun gains mass, it will have more gravitational force which will pulls the planets towards the sun. However as the planets are pulled towards the sun, the planets will convert its gravitational potential energy to kinetic energy and so gain velocity therefore will still be in orbit.\n    \u003c/li\u003e\u003cli\u003e\n      However if the sun loses mass, each planet will have less gravitational potential energy as a result of the sun having less gravitational force. Each planets' total energy will increase because of this so each planet may either increase the radius of its orbit or speed up.\n    \u003c/li\u003e\u003cli\u003e\n      If the mass of the sun suddenly becomes really small, each planet would travel in a straight line tangent to its orbit at that time.\n    \u003c/li\u003e\u003cli\u003e\n      The reason why this simulation is to assume the radius of each orbit is fixed is to simplify the simulation and fully focus on circular orbit.\n    \u003c/li\u003e\u003c/ul\u003e\n  \u003c/li\u003e\u003cbr\u003e\n\n  \u003cli\u003e\n    Are planetary orbits perfectly circular?\n    \u003cul\u003e\u003cli\u003e\n      No and it doesn't need to be. Most are actually elliptical because planets have orbital speeds slightly different from what is required for a perfect circular orbit.\n    \u003c/li\u003e\u003c/ul\u003e\n  \u003c/li\u003e\u003cbr\u003e\n\n\u003c/ul\u003e\n\n\u003ch3\u003eTechnical FAQ\u003c/h3\u003e\n\n\u003cul\u003e\n  \u003cli\u003e\n    Why can't I create a planet close to the sun?\n    \u003cul\u003e\u003cli\u003e\n      This simulation won't let you create a planet with an orbit of radius less than 16x10⁹ m.\n    \u003c/li\u003e\u003c/ul\u003e\n  \u003c/li\u003e\u003cbr\u003e\n\n  \u003cli\u003e\n    How do I change the mass of the sun or the time scale?\n    \u003cul\u003e\u003cli\u003e\n      Click on the number box and it should change colour. Press backspace to delete the digits and type in the desired value by typing in the number keys on the keyboard then press enter. If you have made a mistake, press the backspace button.\n    \u003c/li\u003e\u003c/ul\u003e\n  \u003c/li\u003e\u003cbr\u003e\n\n  \u003cli\u003e\n    How do you see the data for each planet?\n    \u003cul\u003e\u003cli\u003e\n      The display data drop down menu can be opened by clicking on it. Select the data to be seen by clicking on the options of data.\n    \u003c/li\u003e\u003c/ul\u003e\n  \u003c/li\u003e\u003cbr\u003e\n\n  \u003cli\u003e\n    What's the maximum number of planets which can be created?\n    \u003cul\u003e\u003cli\u003e\n      There is no limit to how many planets can be created however the simulation will slow down if too many are created.\n    \u003c/li\u003e\u003c/ul\u003e\n  \u003c/li\u003e\u003cbr\u003e\n\u003c/ul\u003e\n\n## `-satellite` Satellite Manoeuvres\n\n\u003cp\u003e\n  This simulation simulates satellites being effected by the Earth's gravitational field.\n  \u003cbr\u003e\n  This simulation assumes that:\n  \u003cul\u003e\n    \u003cli\u003eEach satellite is treated as a particle and has no mass or dimensions\u003c/li\u003e\n    \u003cli\u003eTotal energy is not lost when moving in space\u003c/li\u003e\n    \u003cli\u003eSatellites can pass through each other\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/p\u003e\n\n\u003ch3\u003eInterface\u003c/h3\u003e\n\u003cimg src=\"images/satellite/1.png\" width=\"580\" height=\"300\" alt=\"Interface\"\u003e\n\u003cp\u003e\n  The interface in this simulation consist of two sides, the left hand side shows the simulation and the right hand side shows the control panel. The status bar on the browser displays the frame rate the simulation is performing, a frame rate of 60 is considered satisfactory.\n\u003c/p\u003e\n\n\u003ctable\u003e\n  \u003c!--Row 1--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n      \u003cth\u003eSimulations functions\u003c/th\u003e\n    \u003c!--Column 2--\u003e\n      \u003cth\u003eDiagram 1\u003c/th\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 2--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      Left click and drag to create the initial velocity vector of the satellite.\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/satellite/2.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 3--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      Release the mouse after dragging to create the satellite. The satellite will create a trail of white dots during its orbit.\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/satellite/3.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cbr\u003e\n\n\u003ctable\u003e\n  \u003c!--Row 1--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003cth\u003eControl panel functions\u003c/th\u003e\n    \u003c!--Column 2--\u003e\n    \u003cth\u003eDiagram 1 \u003c/th\u003e\n    \u003c!--Column 3--\u003e\n    \u003cth\u003eDiagram 2\u003c/th\u003e\n  \u003c/tr\u003e\n\n  \u003c!--Row 2--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      \u003cb\u003eInitial velocity vector information\u003c/b\u003e\u003cbr\u003e\u003c/br\u003e\n      The initial velocity vector is created when the mouse is dragged as shown in Diagram 1.\n      \u003cbr\u003e\u003c/br\u003e\n      Diagram 2 shows the information of the initial velocity vector.\n    \u003c/td\u003e\n    \u003c!--Collumn 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/satellite/4a.png\"\u003e\u003c/td\u003e\n    \u003c!--Collumn 3--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/satellite/4b.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 3--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      \u003cb\u003eMass of the Earth\u003c/b\u003e\u003cbr\u003e\u003c/br\u003e\n      The mass of the Earth is shown as shown in diagram 1.\n      \u003cbr\u003e\u003c/br\u003e\n      It can be edited as shown in diagram 2, click on it and press the number keys to change the variable. Hit enter to return the variable.\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/satellite/5a.png\"\u003e\u003c/td\u003e\n    \u003c!--Column 3--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/satellite/5b.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 4--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      \u003cb\u003eForce lines\u003c/b\u003e\u003cbr\u003e\u003c/br\u003e\n      Force lines shows the lines of force as displayed in diagram 1.\n      \u003cbr\u003e\u003c/br\u003e\n      It can be selected in the drop down menu as shown in diagram 2.\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/satellite/6a.png\" width=\"250\" height=\"250\"\u003e\u003c/td\u003e\n    \u003c!--Column 3--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/satellite/6b.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 5--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      \u003cb\u003eEquipontentials\u003c/b\u003e\u003cbr\u003e\u003c/br\u003e\n      Equipontentials shows where gravitational potential is the same as shown in diagram 1. Each equipontential shows increments of 1 x10⁶ J.kg¯¹.\n      \u003cbr\u003e\u003c/br\u003e\n      It can be selected in the drop down menu as shown in diagram 2.\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/satellite/7a.png\" width=\"250\" height=\"250\"\u003e\u003c/td\u003e\n    \u003c!--Column 3--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/satellite/7b.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 6--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      \u003cb\u003eTime scale\u003c/b\u003e\u003cbr\u003e\u003c/br\u003e\n      The time scale is shown as shown in diagram 1.\n      \u003cbr\u003e\u003c/br\u003e\n      It can be edited as shown in diagram 2, click on it and press the number keys to change the variable. Hit enter to return the variable.\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/satellite/8a.png\"\u003e\u003c/td\u003e\n    \u003c!--Column 3--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/satellite/8b.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 7--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      \u003cb\u003ePause/play button\u003c/b\u003e\u003cbr\u003e\u003c/br\u003e\n      The pause/play button will pause or unpause the simulation.\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/satellite/9.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 8--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      \u003cb\u003eReset button\u003c/b\u003e\u003cbr\u003e\u003c/br\u003e\n      The reset button will delete all satellites in the simulation.\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/satellite/10.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 9--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      \u003cb\u003eChange colour button\u003c/b\u003e\u003cbr\u003e\u003c/br\u003e\n      The change colour button changes the colour scheme of the simulation from a selection of :\n      \u003cul\u003e\n        \u003cli\u003eBlack\u003c/li\u003e\n        \u003cli\u003eWhite\u003c/li\u003e\n        \u003cli\u003eBlue\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/satellite/11.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\n\u003ch3\u003eBackground physics (Gravitational force)\u003c/h3\u003e\n\n\u003cp\u003e\n  One of Sir Isaac Newton's law is the inverse square law. It says that the force from a source is proportional to one over r squared, ie \u003cimg src=\"images/satellite/12.png\" align=\"middle\"\u003e; this is because the lines of force spread out and the area it affects increases quadratically.\n\u003c/p\u003e\n\n\u003cimg src=\"images/satellite/13.png\"\u003e\n\n\u003cp\u003e\n  The image above shows the lines of force being spread out, creating a field. The area which is affected by the force is the distance from the force squared. Also the force decreases as it moves away from the source and hence explains why the proportionally is an inverse.\n\u003c/p\u003e\n\n\u003cp\u003e\n  Gravitational force obeys Newton's inverse square law because the lines of gravitational force also spreads out. From this it is possible to derive an equation for gravitational force, between mass M and m, and acceleration due to gravity if all mass has a gravitational force.\n\u003c/p\u003e\n\n\u003cimg src=\"images/satellite/14.png\"\u003e\n\n\u003cp\u003e\n  Where G is the gravitational force constant 6.67 x10¯¹¹ N.m².kg¯² and g is the gravitational field strength or the acceleration due to gravity.\n\u003c/p\u003e\n\n\n\u003cp\u003e\n  This simulation uses this equation but resolves them into vector components to make calculations easier for the computer.\n\u003c/p\u003e\n\n\u003ch2\u003eBackground physics (Gravitational potential)\u003c/h2\u003e\n\n\u003cp\u003e\n  Gravitational potential energy is the work done against gravity. Using the equation work = Fx and F = mg, the equation for gravitational potential energy can be derived.\n\u003c/p\u003e\n\n\u003cimg src=\"images/satellite/15.png\"\u003e\n\n\u003cp\u003e\n  This equation is fine for small changes of the height because the value of g, the gravitational field strength, is almost always constant. However once height has increased so much, the value of g will change a lot at different distances from the Earth so this equation becomes invalid. To derive a new equation by considering the change in the gravitational field strength over large distances, the equation for the gravitational field strength derived from Newton's inverse square law is substituted into the equation for gravitation potential energy.\n\u003c/p\u003e\n\n\u003cimg src=\"images/satellite/16.png\"\u003e\n\n\u003cp\u003e\n  Objects going through a change in distance from the Earth will have a change in gravitational potential and this change will change the kinetic energy of the object.\n\u003c/p\u003e\n\n\u003cp\u003e\n  Notice there is a slight similarity with the equation for gravitational potential and the gravitational field strength, only the power of r is different. From this, calculus can be used to find the relationship between gravitational potential and gravitational field strength.\n\u003c/p\u003e\n\n\u003cimg src=\"images/satellite/17.png\"\u003e\n\n\u003cp\u003e\n  From this it is derived that the gravitational field strength is the change in gravitational potential over the change in distance. In other words the gradient of the graph \u003cimg src=\"images/satellite/18.png\" align=\"middle\"\u003e is the gravitational field strength as shown below.\n\u003c/p\u003e\n\n\u003cimg src=\"images/satellite/19.png\"\u003e\n\n\u003cp\u003e\n  Using integration, more relationships can be derived.\n\u003c/p\u003e\n\n\u003cimg src=\"images/satellite/20.png\"\u003e\n\n\u003cp\u003e\n  From this the change in gravitational potential is the area between the curve \u003cimg src=\"images/satellite/21.png\" align=\"middle\"\u003e, the x axis and the two values of r as shown below.\n\u003c/p\u003e\n\n\u003cimg src=\"images/satellite/22.png\"\u003e\n\n\u003ch3\u003eScientific FAQ\u003c/h3\u003e\n\n\u003cul\u003e\n  \u003cli\u003e\n    What are equipontentials?\n    \u003cul\u003e\u003cli\u003e\n      They are lines where the gravitational potential are the same, they can be compared as contour lines in a geographical map. The closer the equipontentials are, the more change in gravitational potential there which means more gravitational field strength hence more acceleration.\n    \u003c/li\u003e\u003c/ul\u003e\n    \u003cul\u003e\u003cli\u003e\n      By drawing the equipontentials, the simulation looks like a 'well' so a cross of it will look like a curve. The steepness of the curve is actually equal to the acceleration due to gravity.\n    \u003c/li\u003e\u003c/ul\u003e\n  \u003c/li\u003e\u003cbr\u003e\n\n  \u003cli\u003e\n    How do you make a satellite orbit?\n    \u003cul\u003e\u003cli\u003e\n      For a circular orbit its initial velocity must be perpendicular to the radius of the Earth, ie 90 degrees, and the magnitude must equal to the speed required for circular orbit depending on the mass of the earth and the distance from the centre of the earth.\n    \u003c/li\u003e\u003c/ul\u003e\n    \u003cul\u003e\u003cli\u003e\n      If the initial velocity is slightly different from what is required for circular orbit, its orbit could be elliptical.\n    \u003c/li\u003e\u003c/ul\u003e\n  \u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eTechnical FAQ\u003c/h3\u003e\n\n\u003cul\u003e\n  \u003cli\u003e\n    How do I change the mass of the Earth or the time scale?\n    \u003cul\u003e\u003cli\u003e\n      Click on the number box and it should change colour. Type in the desired value by typing in the number keys on the keyboard then press enter. If you have made a mistake, press the backspace button.\n    \u003c/li\u003e\u003c/ul\u003e\n  \u003c/li\u003e\u003cbr\u003e\n\n  \u003cli\u003e\n    What's the maximum number of satellites which can be created?\n    \u003cul\u003e\u003cli\u003e\n      There is no limit to how many satellites can be created however the simulation will slow down if too many are created.\n    \u003c/li\u003e\u003c/ul\u003e\n  \u003c/li\u003e\u003cbr\u003e\n\n  \u003cli\u003e\n    How do you see the force/equipotential lines?\n    \u003cul\u003e\u003cli\u003e\n      The display lines drop down menu can be opened by clicking on it. Select the lines to be seen by clicking on the type of lines to be displayed.\n    \u003c/li\u003e\u003c/ul\u003e\n  \u003c/li\u003e\u003cbr\u003e\n\n\u003c/ul\u003e\n\n## `-doppler` Doppler Shift\u003c/h2\u003e\n\n\u003cp\u003e\n  This simulation models electromagnetic waves being emitted from a moving source. Each wave front is represented as a line. Because this is a model, the frequency of the wave front emitted is not to scale.\n\u003c/p\u003e\n\n\u003ch3\u003eInterface\u003c/h3\u003e\n\u003cimg src=\"images/doppler/1.png\" width=\"580\" height=\"300\" alt=\"Interface\"\u003e\n\u003cp\u003e\n  The interface in this simulation consist of two sides, the left hand side shows the simulation and the right hand side shows the control panel. The status bar on the browser displays the frame rate the simulation is performing, a frame rate of 60 is considered satisfactory.\n\u003c/p\u003e\n\n\u003ctable\u003e\n  \u003c!--Row 1--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n      \u003cth\u003eSimulations functions\u003c/th\u003e\n    \u003c!--Column 2--\u003e\n      \u003cth\u003eDiagram 1\u003c/th\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 2--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      The source of radiation is represented as a green spot.\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/doppler/2.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 3--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      Wave fronts are represented as lines. This is where a part of the wave goes through one full phase rotation.\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/doppler/3.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cbr\u003e\n\n\u003ctable\u003e\n  \u003c!--Row 1--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003cth\u003eControl panel functions\u003c/th\u003e\n    \u003c!--Column 2--\u003e\n    \u003cth\u003eDiagram 1 \u003c/th\u003e\n    \u003c!--Column 3--\u003e\n    \u003cth\u003eDiagram 2\u003c/th\u003e\n  \u003c/tr\u003e\n\n  \u003c!--Row 2--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      \u003cb\u003eSpeed of the source\u003c/b\u003e\u003cbr\u003e\u003c/br\u003e\n      The speed of the source over the speed of light is as shown in diagram 1.\n      \u003cbr\u003e\u003c/br\u003e\n      It can be edited as shown in diagram 2, click on it and press the number keys to change the variable. Hit enter to return the variable.\n    \u003c/td\u003e\n    \u003c!--Collumn 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/doppler/4a.png\"\u003e\u003c/td\u003e\n    \u003c!--Collumn 3--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/doppler/4b.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 3--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      \u003cb\u003eWavelength of the magnetic radiation\u003c/b\u003e\u003cbr\u003e\u003c/br\u003e\n      The wavelength of the magnetic radiation is as shown in diagram 1.\n      \u003cbr\u003e\u003c/br\u003e\n      It can be edited as shown in diagram 2, click on it and press the number keys to change the variable. Hit enter to return the variable.\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/doppler/5a.png\"\u003e\u003c/td\u003e\n    \u003c!--Column 3--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/doppler/5b.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 4--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      \u003cb\u003eRelativistic factor\u003c/b\u003e\u003cbr\u003e\u003c/br\u003e\n      The relativistic can be considered or ignored in this simulation by turning it on or off. The value of the relativistic factor is as shown in diagram 1.\n      \u003cbr\u003e\u003c/br\u003e\n      It can be turned on or off in the drop down menu as shown in diagram 2.\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/doppler/6a.png\"\u003e\u003c/td\u003e\n    \u003c!--Column 3--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/doppler/6b.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 5--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      \u003cb\u003eStretched wavelength\u003c/b\u003e\u003cbr\u003e\u003c/br\u003e\n      The length of the stretched wavelength is as shown in diagram 1.\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/doppler/7.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 6--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      \u003cb\u003eStart/stop button\u003c/b\u003e\u003cbr\u003e\u003c/br\u003e\n      The start/stop button will start or stop the simulation.\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/doppler/8.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 7--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      \u003cb\u003ePause/play button\u003c/b\u003e\u003cbr\u003e\u003c/br\u003e\n      The pause/play button will pause or unpause the simulation.\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/doppler/9.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003c!--Row 8--\u003e\n  \u003ctr\u003e\n    \u003c!--Column 1--\u003e\n    \u003ctd\u003e\n      \u003cb\u003eChange colour button\u003c/b\u003e\u003cbr\u003e\u003c/br\u003e\n      The change colour button changes the colour scheme of the simulation from a selection of :\n      \u003cul\u003e\n        \u003cli\u003eBlack\u003c/li\u003e\n        \u003cli\u003eWhite\u003c/li\u003e\n        \u003cli\u003eBlue\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/td\u003e\n    \u003c!--Column 2--\u003e\n    \u003ctd\u003e\u003cimg src=\"images/doppler/10.png\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\n\u003ch3\u003eBackground physics\u003c/h3\u003e\n\n\u003cp\u003e\n  The Doppler effect or Doppler shift is the result of a wave emitting source to move causing the wavelength of the wave to stretch or compress. Waves being stretched are known to undergo red shift as their wavelengths has increased towards the red end of the spectrum. The factor of Doppler shift can be derived as shown below.\n\u003c/p\u003e\n\n\u003cimg src=\"images/doppler/11.png\"\u003e\n\u003cbr\u003e\n\u003cimg src=\"images/doppler/12.png\"\u003e\n\n\u003cp\u003e\n  The equation derived is know as the Doppler shift factor and it is used to work out how much the wavelength has been stretched. Notice v has to be much smaller than c because time dilation happens when approaching the speed of light, this is where the rate of time slows down so the waves rotating phasors rotate slower and so their wavelengths are stretched even more. The Doppler shift factor ignores time dilation so v has to be smaller than c for the factor to work.\n\u003c/p\u003e\n\n\u003cp\u003e\n  To work out how long is the stretched wavelength considering time dilation, the relativistic factor is used and it is to be multiplied to the length of the overall stretched wavelength worked out by using the Doppler shift factor as shown below.\n\u003c/p\u003e\n\n\u003cimg src=\"images/doppler/13.png\"\u003e\n\n\u003cp\u003e\n  The simulation also uses the same equation as above to work out the length of the stretched wavelength. Try and get the same results using your calculator.\n\u003c/p\u003e\n\n\u003ch3\u003eScientific FAQ\u003c/h3\u003e\n\n\u003cul\u003e\n  \u003cli\u003e\n    What so important about the Doppler Shift?\n    \u003cul\u003e\u003cli\u003e\n      It is important because ALL galaxies emit red shift or waves which are stretched. This means all galaxies are moving away from us and using the Doppler Shift factor enable us to work out how fast they are receding away from us.\n    \u003c/li\u003e\n    \u003cli\u003e\n      Because all galaxies are receding away from us it meant all the galaxies came from one place so the Big Bang theory was concluded.\n    \u003c/li\u003e\u003c/ul\u003e\n\n  \u003c/li\u003e\u003cbr\u003e\n\n  \u003cli\u003e\n    Why is time dilated when approaching the speed of light?\n    \u003cul\u003e\u003cli\u003e\n      Time dilation is the result of the speed of light always being constant no matter the velocity of the observer is.\n    \u003c/li\u003e\u003c/ul\u003e\n  \u003c/li\u003e\u003cbr\u003e\n\n  \u003cli\u003e\n    What is the point of turning the relativistic factor on and off?\n    \u003cul\u003e\u003cli\u003e\n      It helps you to compare how much the relativistic factor has an effect on the stretched wavelength when approaching the speed of light. By entering v/c = 0.99 into the simulation, the value of γ reaches a magnitude of 7!\n    \u003c/li\u003e\u003c/ul\u003e\n  \u003c/li\u003e\n\u003c/ul\u003e\n\n\u003ch3\u003eTechnical FAQ\u003c/h3\u003e\n\n\u003cul\u003e\n  \u003cli\u003e\n    Why won't the simulation start?\n    \u003cul\u003e\u003cli\u003e\n      You need to press the Start/Stop button to start the simulation.\n    \u003c/li\u003e\u003c/ul\u003e\n  \u003c/li\u003e\u003cbr\u003e\n\n  \u003cli\u003e\n    How do I change the variables in the control panel?\n    \u003cul\u003e\u003cli\u003e\n      Click on the number box and it should change colour. Type in the desired value by typing in the number keys on the keyboard then press enter. If you have made a mistake, press the backspace button.\n    \u003c/li\u003e\u003c/ul\u003e\n  \u003c/li\u003e\u003cbr\u003e\n\n  \u003cli\u003e\n    Why is my calculator result slightly different from the simulation result?\n    \u003cul\u003e\u003cli\u003e\n      Sometimes there will be a rounding error when the simulation converts binary to deanery. If your answer is around the same magnitude, you more or less have the correct answer.\n    \u003c/li\u003e\u003c/ul\u003e\n  \u003c/li\u003e\u003cbr\u003e\n\u003c/ul\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshermanlo77%2Fphysicssim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshermanlo77%2Fphysicssim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshermanlo77%2Fphysicssim/lists"}