visualization of
real algebraic geometry
  Home | Download | Documentation | Gallery | Screenshots

What is surf?

surf is a tool to visualize some real algebraic geometry: plane algebraic curves, algebraic surfaces and hyperplane sections of surfaces. surf is script driven and has (optionally) a nifty GUI using the Gtk widget set.

The algorithms should be stable enough not to be confused by curve/surface singularities in codimension greater than one and the degree of the surface or curve. This has been achieved quite a bit. We have drawn curves of degree up to 30 and surfaces of degree up to 20 successfully. However, there are examples of curves/surfaces of lower degree where surf fails to produce perfect images. This happens especially if the equation of the curve/surface is not reduced. Best results are achieved using reduced equations. On the other hand, surf displays the Fermat-curves accurately for degree up to 98.

surf is free software distributed under the GNU General Public License (GPL).

Go here to download surf or visit the SourceForge project page!

Project Info

Tracker Tracker

 - Bugs ( 1 open / 5 total )
Bug Tracking System

 - Feature Requests ( 0 open / 2 total )
Feature Request Tracking System

Mail Lists Mailing Lists ( 3 mailing lists )
CVS CVS Tree ( 1947 commits, 133 adds )
FTP Released Files

Project News

  • surf 1.0.4 released!   2003-05-30 11:05
  • surf 1.0.3 released   2001-04-01 14:30
  • surf 1.0.2 released   2000-08-12 12:13
  • surf 1.0.1 released   2000-05-28 15:16
  • surf 1.0.0 released   2000-04-10 12:42

  • Requirements

    • An ISO-C++ compiler (gcc 2.95 would be ok, too.. ;)
    • GTK+ version 1.2.0 or later (only required if you want to compile surf with GUI support)
    • POSIX threads (If you have Linux make sure you use glibc2)
    • GNU MP (gmp) version 2 or later
    • GNU flex 2.5 or later

    surf has been compiled and tested under Linux, FreeBSD, Solaris and IRIX. Having installed the above libraries it should run on any UNIX though.

    SourceForge $Date: 2001/01/14 15:16:43 $