NWOThesisPrez
Download
Report
Transcript NWOThesisPrez
Extensible Simulation of
Planets and Comets
A Thesis Presentation By:
Natalie Wiser-Orozco
November 14, 2008
Committee Members:
Dr. Keith Schubert
Dr. Ernesto Gomez
Dr. Richard Botting
Course Of Action
Understanding The Movement Of Our
Solar System
Building The Simulator
Orbits
Kepler and Newton
Gravitational Functions
Graphical Simulation
Extensibility
Application Programming Interface
Orbits
Ellipse – Oval-like
shape
Eccentricity
determines flatness
How does mass affect
orbit?
Attributes of an Ellipse
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.
Kepler's 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
Graphical User Interface (GUI)
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.
Python API Structure
Scilab API
Register new
numeric methods
and gravitational
functions in the
Utilities file, and the
GUI handles the
rest!
SIMULATION!
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.