Introduction to Flight Simulation

Lecture: Tuesday, 16-18, Room 140
Exercise: Tuesday, 18-20, Room 7


In the first lectures, I will explain the basics of numerical methods for solving differential equations, and apply this on calculation of orbits and rocket trajectories. We calculate how much fuel a rocket needs to reach orbit, how much fuel is needed to reach the moon. We use Runge-Kutta methods to simulate various exotic types of orbits and Laplace points.

Next topic is mechanics of rigid objects. A rigid object is an object that does not change form in a significant way, when forces are put on it. In addition to position and speed, a rigid object also has an orientation and an angular speed. The origentation of a rigid object can be modelled by a quaternion. Its weight distribution can be represented by an inertia matrix.

Stability and Control: A system is stable when small disturbances converge to zero over time. An unstable airplane is difficult to fly. I will teach techniques for analyzing the stability of a system, and how the increase the stability of a system by automatic control. (Autopilots.)

Detecting contacts with the ground: There exist collisions and there exist controlled ground contacts. In order to be able to simulate landings and take offs, one need to detect when the airplace touches the ground, and in which way it touches the ground, and what forces there exist on the wheels.

Data structures for scenery representation.

Aerodynamic forces are too complex to compute in real time. Because of this, aerodynamic forces are usually put in tables. Splines are used for interpolation. I explain what these are, and how they are constructed.

Aerodynamics: Although one needs to know almost nothing about aerodynamics for building a flight simulator, it is still an interesting topic with some deep insights that I don't want to hide from you. I will explain what potential flows are, prove Bernoulli's law, and explain the Kutta-Joukowski theorem.


You should have knowledge of C++, linear algebra, and differential calculus.

Installing SFML (Simple and Fast Multimedia Library)

SMFL can be obtained from here . I installed it under Debian Linux, and it was quite straightforward. The desription is quite clear.

You have to install a couple of include files (for g++), and a couple of libraries.

Open GL

SFML supports computer graphics through OpenGL. The homepage of Andrzej Lukaszewski contains a lot of pointers to openGL. The Red Book used to be the main source for learning OpenGL. It is outdated, because the standard commands have been replaced by direct programming of the graphics card. (Shading Language). This has the advantage that the user has more flexibility, but unfortunately, the user also has to understand more. Even when the commands in the Red Book are outdated, the algorithms are still valid, so it is still useful to look at the first 5 sections.



  1. First exercise is on 9.10.12. Here it is. (I improved the layout, and I corrected the mistake with the minus.) We still want to show that that planetary orbits are ellipses. (or hyperboles or paraboles)
  2. Exercise number 2 .
  3. Exercise number 3 .
  4. Exercise number 4 . Ultimate goal of this exercise is to understand the control problem related to orbits. The rocket simulation program is in the repository .


There is a flying simulator!

Students' Opinions

Anonymous opinions from System Zapisow.