extensible simulation of planets and comets a thesis presentation by: natalie wiser-orozco november...
Post on 01-Jan-2016
222 Views
Preview:
TRANSCRIPT
Extensible Simulation of Planets and Comets
A Thesis Presentation By:Natalie Wiser-Orozco
November 14, 2008
Committee Members:Dr. Keith SchubertDr. Ernesto GomezDr. Richard Botting
Course Of Action Understanding The Movement Of Our
Solar System Orbits Kepler and Newton
Building The Simulator Gravitational Functions Graphical Simulation
Extensibility Application Programming Interface
Shoemaker-Levy 9 and Jupiter
S-L9 discovered on March 24th, 1993
Split into fragments on July 8th, 1992
Collided with Jupiter in July of 1994
Johannes Kepler
Lived from 1571 to 1630
Pioneered modern astronomy by deriving a mathematical model based on detailed observations.
Kepler's three laws of planetary motion.
Example of orbit as described by Newton
A body in orbit is “falling” towards the body that is at the foci of the orbit's ellipse.
From this, he derived the law of universal gravitation.
Building The Simulator
Implementing the N-Body equation Developing a graphical simulation Wrapping it up into a neat package (GUI)
N-Body Equation
Explanation of the equation itself. Implemented the equation in small steps. Used Runge-Kutta 4th Order ODE solver. There were some trials and tribulations along
the way. Finally, success!
Explanation of the N-Body Equation
N-Body Ordinary Differential Equation
Equivalent First-Order SystemNow suitable for solving with
RK4 numeric method.
Small Steps
Started with previous coursework from CS535
Moved to using data provided by NASA for the initial conditions for a Sun and Earth system.
Trials and Tribulations
I had the equation wrong, yielding inaccurate data.
The Moon orbits the Sun?
Needed to add Earth's initial velocity to the Moon's initial velocity.
Success!
Simple simulations are finally behaving as expected.
Final hurdle – generalizing to be able to calculate trajectories for an arbitrary number of bodies.
Developing a Graphical Simulation
Plotting the bodies Tracing their
trajectories. Texture mapping Scene Navigation
Application Programming Interface (API)
Python Start with base objects for Bodies and Cameras. Extend the base classes to accommodate new
functionality. Register the extended classes with the Manager
classes. Scilab
Implement different gravitational functions and numeric methods.
Register these scripts with the Utilities class.
Scilab API
Register new numeric methods and gravitational functions in the Utilities file, and the GUI handles the rest!
The Code
Is open source and can be found online at: http://code.google.com/p/extensiblesimulationofplanetsandcomets/
http://www.otsegoville.com/Thesis
References
Johannes Kepler http://en.wikipedia.org/wiki/Johannes_Kepler Web.
Isaac Newton http://en.wikipedia.org/wiki/Isaac_Newton Web.
top related