/surf

computation of minimal surfaces

Primary LanguageC++

***********************************************************************
** INFORMATION
***********************************************************************

Author:
	http://pagine.dm.unipi.it/paolini/

Examples:
	http://pagine.dm.unipi.it/paolini/diletto/minime/index.html

Source code:
       https://github.com/paolini/surf


***********************************************************************
** DESCRIPTION
***********************************************************************

This program computes the mimimal surface (i.e. the surface with minimal area) 
among all surfaces with a given boundary. The boundary has to be defined by
the user by providing a simple C (or C++) program. Many examples of predefined
boundaries are given in the "example" directory (see below). Also the user
has to define a "starting surface" which is any surface (given by 
triangulation) of the given boundary.

Following the user instruction the progam will refine the triangulation of the
given surface and evolve it following the steepest descent of the Area 
functional.

The program can plot the resulting surface in a PostScript file or can write
a datafile to be rendered by POVRAY.

***********************************************************************
** COMPILATION
***********************************************************************

Simply:
	make

The boundaries are given through C source files, and can be added to the
compilation process (see Makefile).


***********************************************************************
** EXAMPLES
***********************************************************************

In the example directory there are some examples. The input keys to produce
the surfaces are given in the *.pill files.

You can "make" the corresponding .png files. For example

	make catenoid.png

to get the whole calculation and rendering (you need POVRAY to be installed).

Otherwise you can run manually the program.

***********************************************************************
** TRACELOG
***********************************************************************

10.9.2015: version 1.3: removed dynamic modularization, bettere POV output, many fixes to broken boundaries, github repository

21.04.2004: version 1.2: solved compatibility issues with gcc and povray
	currently works with: gcc 3.3.3 and povray 3.5 of Debian GNU-Linux.

09.07.2003: version 1.1: added helicoid example, portable C++ dl_open method

14.03.2003: README, packaging, tracelog.

20.02.2003: version 1.0: dynamical modularization, better POV output,
	examples and pills.