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):
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
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):
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.