jtr@ugcs.caltech.edu
CS174c, taught by Peter Schröder
Fri Jun 13 23:33:22 PDT 1997
Taubin, G., "A Signal Processing Approach to Fair Surface Design," Computer Graphics Proceedings, pp. 351-358, August 1995
It also implements most of the related algorithms described in this paper to create a mesh editor.
The code uses STL and the OpenInventor libraries, and has been tested on various different models of SGI workstations. I haven't made any attempt to make an Imakefile since I don't think anybody will try and use it on other machines. The most likely things you would need to change are the locations of the STL and OpenInventor libraries.
To build:
% touch .dep % makethis will build the program as "Gerechtigkeit." you can also build a small program to generate a simple dodecahedral mesh (1.iv in the normal distribution)
% make edthe mesh maker can be run with
% ./edDon't just type ed, as it will probably try to run /bin/ed.
To run the mesh editor, use a command line like this:
% ./Gerechtigkeit 1.iv sched4the first argument is the initial mesh, and the second is a file describing the parameters used for the smoothing (lambdas and mus). The mesh must be an inventor/vrml file in a very specific format (no error checking is done, beside the program quiting if it is not in the right format). The format is:
#Inventor V2.1 ascii Separator { Coordinate 3 { <coord data> } IndexedFaceSet { <faceset data> } }No extra or missing nodes are allowed.
The schedule file has a simple format. Lines starting with '#' and blank lines are skipped. All other lines are assumed to specify lambda/mu pairs. When fairing is done, the lambda/mu pairs are used in the order specified in the file, and wrapping around at the end. An example schedule file follows:
# 2-9 figure C. kpb=.1000208772 (note: unstable) 0.7,-0.7527see Taubin's paper for details on how to choose lambda and mu (which together determine the passband frequency, kpb). author