230 likes | 243 Views
Thesis presentation exploring orbits, Kepler, Newton, and simulator development for graphical simulations of planetary motion.
E N D
A Thesis Presentation By: Natalie Wiser-Orozco November 14, 2008 Committee Members: Dr. Keith Schubert Dr. Ernesto Gomez Dr. Richard Botting Extensible Simulation of Planets and Comets
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
Orbits • Ellipse – Oval-like shape • Eccentricity determines flatness • How does mass affect orbit?
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.
Sir Isaac Newton • Lived from 1643 to 1727 • Laws of motion • Laws of universal gravitation
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 System Now 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!
TheCode • 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.