Jürgen Böhms Heimatseiten - Wissenschaft

The surfxp programs for 3D - Viewing


The two versions of surfxp

The surfxp program was originally written for Windows 3.1 in 1994 using Borland Pascal and the OWL, but it can be run (as far as I tried) under Windows 95/98 too and even with wine under Linux.

In 2002 I wrote a new version of surfxp for Linux in C++, using OpenGL and the KDE/Qt libraries.


Both programs are made for generating 2D views of opaque surfaces in three-dimensional space. The surfaces themselves are described by .srf files whose format I will describe later.

Changing the viewpoint (and other viewing parameters in the Windows version of surfxp) is done in different ways depending on whether you use the Linux or Windows surfxp. Details are explained later on this page.

The Windows version of the program is quite a bit slower than the Linux version, but is more precise in rendering surfaces with self-intersections. Additionally you can save the generated images as .bmp files.

The Windows version


Windows 3.1, Windows 95/98, probably runs under ME, XP too

There it is (binary + example .srf files):

surfxp-1_0.zip for Windows (about 60K) - date 2002 12 01


With WinZip unzip surfxp-1_0.zip into a directory that you created at any convenient place in your filesystem.


On the following screenshot

you see to the left a view on a so called "roman surface" and to the left the "command center" from which you can choose

  • Viewpoint center (the fields labeled x0 y0 z0)
  • Viewing angles (the sliders labeled ° followed by a number)
  • maximum viewing distance (the field labeled R)
  • Viewing distance (the slider below the field labeled R )
  • focus length (the slider labeled mm)
  • colors of surface and edges (in the picture blue and black respectively). For this option you have to press the "Colors" button first to bring up the colors dialog view of the command center.

With "Paint" you cause a repaint in the current display window to be made, with "Reset" you set the display window to the size it had when you lastly repainted the surface and with "Leave" you make the "Command Center" dialog disappear. (You can make it with "Funktion > Bedienfeld zeigen" from the menu reappear/appear).

To get the program show something in the beginning you have to load a .srf file (e.g. roefl.srf) with "Datei > Bilddatei laden" from the menu. Then pull your (initially white) viewing window to the desired size, bring up the "Command Center", make your choices for the viewing parameters and press "Paint" (alternatively select "Funktion > Grafik zeichnen" from the menu).

The Linux version


Linux, Qt5 libraries, OpenGL/Mesa libraries

There it is (sources + example .srf files):

surfxp-0.1.0.tar.gz for Linux - date 2015 12 06


  1. Go into any convenient $SRCDIR, e. g. $HOME
  2. copy surfxp-0.1.0.tar.gz into $SRCDIR
  3. gunzip surfxp-0.1.0.tar.gz
  4. tar -xvf surfxp-0.1.0.tar

For building surfxp, do qmake surfxp.pro and then make all


Start the program and load a .srf file of you choice. Immediately you will see a rendered version of your surface. You can resize the window and the view will adapt itself. For moving the surface in the window just move the cursor with pressed left mouse button in the window as if you were directing a trackball with your cursor movements. (Just try it, you will soon get the feeling).

A screenshot with the roman surface


If you are - even to the slightest extent - interested in using the programs or just playing a bit with it:

Feel free to contact me about any problems encountered, or if you need help in getting the software to run on your computer or if you just want to tell me how nice this little program is.

Navbutton Zentrum Anfang Anfang Ende   mailto Webmaster     Zuletzt geändert - 01 12 2002