Name | Modified | Size | Downloads / 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 © 19942012 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...