Tuesday, February 5th 2002
0.8 is out. It is a bugfix release. Suggestions from Günther Pospischil from the TU Wien, who is the tutor for this project at my university, have been applied.
Sunday, January 6th 2002
Today I encolored the polarisation ellipse and improved the formulas used when calculating the values displayed there. This is in release 0.7. The biggest thing this time is the treatise on how I came to these formulas. It is a LaTeX document. You can have a look at the HTML version.
Friday, January 4th 2002
Release 0.6 is out. A few important new things are in and some crashes are fixed. Look at the new screen shot to get a glimpse of what is new.
Tuesday, January 1st 2002
First of all: Happy New Year to all visitors of my project's homepage!
Second: Happy EURO € to all Euroland citizens!
This is the start of the homepage for GLWaves. It is not extensive but should give you an impression of what this is and give you the possibility to download and use it.

Electromagnetic waves are an ubiquitous phenomenon in our daily life. Radio, television, cellular and even light are concerned with them. Electrical and communications engineering is the science coping with them.

Students in this subject have to be familiar with electromagnetic waves. Embarrassingly they are quite difficult to understand and to visualize. This project GLWaves is inteded to assist in exactly that task.

GLWaves is written in FreePascal and runs on Linux. But beside rewriting the user interface, which is based on GTK, it should be quite easily portable to other platforms. OpenGL is used to visualize 3D images and animations allowing an easy to understand and graphic presentation. It is recommended that you have a hardware accelerated 3D graphic card. On a Pentium III 800Mhz a relatively complex scene in the 400x300 pixel window gets flickering a bit but doesn't annoy. If you can live with that, you probably don't need a 3D graphic card.

In the current state GLWaves has simulations for

  • wave functions
  • polarisatzion

After starting GLWaves it offers a standard menu bar where you can choose the demo you want to run. After selecting one, the main window enlarges to fill in a list of sub-demos, adjustable parameters and options what to display and what not. A second window is opened with the 3D animation. On demand additional windows are opened to show parameters like the Poincare sphere. Selecting another demo closes the previously opened window and opens a new one with the chosen demo.

This program is a university project at the University of technology, Vienna, Austria. So all texts and descriptions are held in German. Translating GLWaves to other languages (especially English) is a thing to be done in the future. All comments and symbol names are in English.

GLWaves is distributed under the terms of the GNU General Public License (GPL). You may freely download and distribute it as long as you supply the copyright information.

Wave function

Here you can see the main window with the adjustments and a 3D window showing a wave function. This wave is propagating and attenuated.


On this picture the main window (left) and three OpenGL windows are shown. The top OpenGL window shows an elliptic polarised wave. Below the left window shows the polarisation ellipse and the right one the Poincare sphere visualizing the aptitude and ellipticity of the polarisation ellpise.

Polarisation when t=0

In this view the time is held at t=0, so the wave doesn't move. Instead the blue plane is tracked from z=0 to larger z. The red ring shows the value of the wave. One can see that a right handed wave is a left screw in space.

New colorful polarisation ellipse

The polarisation ellipse now shows the three parameters gamma, tau and epsilon in different colors.


You can download the released files at the Release page.

To use GLWaves you need some prerequisites.
  1. FreePascal
  2. FPC GTK package
  3. FPC OpenGL package
  4. GtkGLArea
  5. OpenGL (e.g. Mesa)
  6. GTKpas
  7. GNU make


The project page at SourceForge can be viewed here.


I would like to hear from you. Please send me an EMail to If you encounter problems, have any questions or find bugs, please feel free to contact me. I am interested in your comments, suggestions, ideas, so drop me a mail too, please.

You are welcomed to help developing GLWaves (see Todo) and enlarge the number of available demos.


Things to do are at least:

  • translate to English
  • "make distrpm" and "make distdeb" to generate a RPM and Debian binary distribution
  • find some memory leaks
  • find an OpenGL quirk (or one in GLWave's code :-) )

Get GLWaves at Fast, secure and Free Open Source software downloads Webmaster: Johann Glaser Valid HTML 4.01!
validate HTML 4.01
Valid CSS!
validate CSS