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.