Download presentation
Presentation is loading. Please wait.
Published byAbel Brooks Modified over 6 years ago
1
Creating 2-D and 3-D models of the Solar System using physics-based geometries in Java. Brian Tubergen
2
Purpose/Subject/Goals
Create a working simulation of the Solar System Implement Keplerian/Newtonian models to control planetary motion Users interaction with simulation: ability to add customizable solar bodies (comets, planets, etc.) at a given location and see what reaction of Solar System is Transition 2-D simulation into 3-D
3
Scope of Study Program “action at a distance” gravitation force: F = G*m*M/r^2 Acquire real world position/velocity planetary data or find an equation that can give it to me and compare it with simulation Implement non-coplanar orbits (ie: program a z component of position, velocity, etc.) for 3-D purposes
4
Similar Projects The basic Solar System part of the project is a visual recreation of the Keplerian model of planetary motion Other Solar System simulations exist, but none that I’ve seen allow user interaction to the extent I’d like to with user addition of solar bodies
5
Theory/Design Program written in Java (for now, for 2-D)
Create a class that essentially handles the creation and management of the panel itself (Animate01_modified) Create a class that can represent a planet and contains data on that planet’s position, velocity, etc. (Sprite)
6
Theory/Design cont. Update the positions of the planets one at a time and iteratively, where at each step the planet’s acceleration is updated based on the position of each other body a = G*m/r^2 Every solar body’s acceleration is calculated based on every other body, if that makes sense
7
Testing Acquire real world (or equation based) position and velocity data for each planet and compare to my simulation’s output Verify that my simulation runs more or less correctly
8
Testing Cont.
9
Problems thus far Issues with iterative calculation of forces
Solved, as far as I’m aware, although Mercury may be incorrect Issues handling how to let each planet know about the other planets/bodies in the system Necessary to calculate accelerations correctly Solved, as far as I’m aware
10
Problems cont. Determining the most intelligent and easiest way to compare position data from my program to position data from NASA Decided to simply output data and do basic analysis in spreadsheet program
11
Timeline 1st quarter: 2nd quarter: 3rd quarter: 4th quarter:
Get iterative force/acceleration calculations working for multiple bodies interacting 2nd quarter: Fix bugs with said calculations and resulting motion Verify that the equations actually work based on solar system data 3rd quarter: Continue writing verification program 4th quarter: Implement user interaction with simulation
12
Results thus far
13
Results cont. Planets (smaller, multicolored circles) appear to move elliptically, hyperbolically, parabolically, etc. as they should Real initial position/velocity values have been assigned Planetary orbits are mostly circular, although Mercury’s appears to be incorrect right now
14
Data (my simulation and NASA)
15
Percent Error
16
Results cont. Predicted data from my simulation compares favorably to actual data from NASA Inner planets are worse; their movement is a rougher estimate because they move more/faster than outer planets Good predictor for outer planets, however
17
Conclusion To be completed 4th quarter
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.