I thank Prof. W. Barth (University Erlangen) for (en)forcing me to start this project. Hans Hülf, Rüdiger Örtel and Kai Schneider have spent lots of time on coding parts of surf. Some of the code has been copied from other places:
surf is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
surf is available via http/ftp at the surf home page http://surf.sourceforge.net.
To compile surf, the following software is needed:
surf is started by typing surf
on the command line.
Optional arguments are --no-gui
(or -n
) for starting
surf without graphical user interface, --exec
(or
-x
) to immediately execute the first passed script file and -
when using surf with GUI - --progress-dialog
which tells surf to use a progress dialog
instead of a status bar, --auto-resize
which forces the image
windows to get automatically resized to the size of the image, and the
usual GTK+ options. --help
prints out the usage information:
surf -n | --no-gui FILE... surf [GTK-OPTIONS] [-x | --exec] [--progress-dialog] [--auto-resize] [FILE]... surf --help
surf is designed to visualize algebraic curves and surfaces. This can be done either by writing scripts in surf's command language and executing them interactively or from another program (for example make), or by using surf's graphical user interface. By using scripts one can draw series of pictures where each picture consists of several surfaces/curves at a high resolution.
Scripts in surf's command language are stored in files with the
suffix .pic
. These files consist of descriptions of curves and/or
surfaces and some commands. They can be invoked in two ways:
surf calculates both color and black & white images. Color images can currently be stored in the following formats:
You will find some sample scripts together with surf's
distribution. They are stored in the examples
directory.
surf can be invoked from make. This comes in quite handy when visualising a series of curves/surfaces. Suppose there are script files s1.pic, s2.pic, ... , sn.pic which create during execution images s1.xwd, s2.xwd, ... , sn.xwd. If for example gif is the desired image file format, an appropriate makefile might look like:
#!/bin/bash # SURF = surf RM = /bin/rm -f CONVERT = convert # OBJS = s1.gif s2.gif .... sn.gif # .SUFFIXES: .pic .gif # .pic.gif: ${SURF} -n $< ${CONVERT} $*.xwd $*.gif ${RM} $*.xwd # dummy: @echo ' ' @echo 'usage:' @echo ' ' @echo ' print this message:' @echo ' make' @echo ' ' @echo ' build images:' @echo ' make all' @echo ' ' @echo ' remove images:' @echo ' make clean' @echo ' ' # all: ${OBJS} # clean: ${RM} *.gif # # end of makefile
In case you find any bug, please use the excellent Bug Tracking System on surf's project page at Sourceforge.