Home
Name Modified Size InfoDownloads / Week
bin.win32 2012-02-28
src 2012-02-28
README.txt 2012-02-28 2.8 kB
Totals: 3 Items   2.8 kB 0
GLUT Complex Function Plotter (GCFP)
Copyright 2012 Arne Johanson (arnej at pixelblock dot de)

This program 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 3 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.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.


GCFP uses freeglut (Copyright 1999-2000 Pawel W. Olszta). For further 
information see <http://freeglut.sourceforge.net/>.
The freeglut binary for Win32 included in this release has been built 
by Martin Payne (cf. 
<http://www.transmissionzero.co.uk/software/freeglut-devel/>).

GCFP uses LUA (Copyright © 1994–2012 Lua.org, PUC-Rio). For further 
information see <http://www.lua.org/>.

The coloring scheme used by GCFP was developed by Claudio Rocchini
(see <http://en.wikipedia.org/wiki/User:Rocchini> and 
<http://commons.wikimedia.org/wiki/File:Color_complex_plot.jpg>).
Also have a look at 
<http://www.codeproject.com/Articles/80641/Visualizing-Complex-Functions> 
for further explanations.


 * Usage of GCFP:
  - Left-click and drag: move view.
  - Right-click: open menu for selecting function to plot.
  - Mouse wheel: zoom.
  - 'a': dis-/enable axes.
  - 'c': dis-/enable crosshair.
  - 't': dis-/enable status information.
  - '1', ..., '5': n = 256, 512, 1024, 1028, 2048.
  - '+'/'-': n = n +/- 100
  - ESC: quit GCFP.

  To plot a custom function you can either add it to the source code
  (e.g. by editing the function "p_1") and recompile GCFP or edit 
  the function "f" in "glut_cfp.lua".


 * How to compile GCFP using MinGW (<http://www.mingw.org/>):
  - Obtain freeglut developement binary package / compile freeglut.
  - Compile LUA.
  - Run the following commands (you may need to change paths):
gcc -c glut_cfp.c -O2 -I"./freeglut/include" -I"./lua/src"
gcc -o glut_cfp.exe glut_cfp.o -O2 -L"./freeglut/lib" -L"./lua/src" -llua -lfreeglut -lopengl32 -Wl,--subsystem,windows
 

 * Notes:
  I wrote GCFP while learning for an exam in complex analysis to understand 
  the behavior of some complex functions. As it has proven useful to me I
  thought I would share it though obviously GCFP could be improved in many 
  ways:
   - Add more built-in functions.
   - Add axis scale values.
   - Use buffer objects to improve performance.
   - Let the GPU do some of the calculations by using shaders.
   - etc...
Source: README.txt, updated 2012-02-28