MathMap is a GIMP plug-in which allows distortion of images specified by mathematical formulae. For each pixel in the generated image, an expression is evaluated which should return a pixel value. The expression can either refer to a pixel in the source image or can generate pixels completely independent of the source.If you have any suggestions, bugs to report, expressions which generate cool effects, or if you just happen to like or dislike this plug-in, in other words, under any circumstances, please drop me a mail.
Still Images
Animations
Language Tutorial
Language Reference
Stable Release
The latest stable MathMap release is MathMap 0.14. I won't add any new features to the stable branch, but will instead release version 1.0.0 when I'm confident that most bugs have been fixed.Unstable/Development Release
The latest development release if MathMap 1.1.0. It probably has lots of bugs, so use it at your own risk.Requirements
MathMap requires the following software packages to compile:
- bison and flex. These are included in nearly any sane operating system distribution.
- GSL, the GNU Scientific Library.
- GIMP 1.2 or 2.0. The last version that runs with GIMP 1.0 is MathMap 0.10.
The MathMap plug-in as well as this hypertext document are provided under the terms of the GNU General Public Licence.
06-15-2004 Released version 1.1.0.
04-19-2004 Released version 0.14.
03-23-2001 Released version 0.13.
09-26-2000 Released version 0.12.
04-21-2000 Released version 0.11.
07-13-1999 Released version 0.10.
05-09-1999 Released version 0.9.
04-05-1999 Released version 0.8.
09-19-1998 Released version 0.7.
07-13-1998 There is now a MathMap mailing-list.
06-04-1998 Released version 0.6.
03-18-1998 Released version 0.5.
01-12-1998 Released version 0.4.
11-21-1997 Released version 0.3.
Changes since 0.14
- The compiler now does several optimizations.
- MathMap can now generate sequence plug-ins for Blender.
Changes since 0.13
- Compiles and runs with both GIMP 1.2 and GIMP 2.0.
- Comes with a Language Tutorial!
- Lots of new and improved examples.
- Features a new compiler, which doesn't yet generate better code than the old one, but offers a much better platform for future improvements.
- MathMap now automatically uses the compiler and if that doesn't work, falls back to the interpreter without user intervention.
- All functions now use radians instead of degrees (which is The Right Thing).
- Compiles on MacOS X (tested with GIMP 1.2 on Fink).
- Bug fixes.
Changes since 0.12
- The command-line version can now read and write animations in the MJPEG Quicktime format.
- A french translation (thanks to Laurent Despeyroux).
- Bug fixes.
Changes since 0.11
- Requires at least GIMP 1.1.26.
- MathMap now has a GIMP-independent command line version.
- Much improved complex arithmetic (thanks to Hans Lundmark).
- New/improved functions: scale, toRGBA, toHSVA, gamma, sinh, cosh, tanh, asinh, acosh, atanh, arg, conj, exp (most of them contributed by Hans Lundmark).
- Some bug fixes.
Changes since 0.10
- Requires at least GIMP 1.1.
- More than one input image can be specified!!!
- MathMap now registers all examples in the PDB.
- Several new/improved examples.
- New/improved functions: lerp, clamp, noise.
- Some internal changes.
- Fixes some bugs.
Changes since 0.9
- Expressions can now contain values which the user can specify through the GUI (numbers, colors, booleans, curves). This is a mega-feature!
- Pixels outside the image can now also be reflected back into the image (thanks to Eric Kidd).
- More matrix/vector algebra (including gaussian elimination).
- The positive Y-axis direction is now upwards which is clearly The Right Thing.
- Some minor C code generator changes which should not affect the user but easy writing of built-ins.
- New/improved functions: print.
- Some bug fixes.
Changes since 0.8
- Lots of bug fixes.
- Simplified build procedure.
- The parser is now a little more forgiving.
- Generalized tuple subscription.
- Tuple subscripts can now be assigned to (making morph obsolete).
- New/improved functions: det, crossp, atan, sum.
Changes since 0.7
- Now runs under both GIMP 1.0 and GIMP 1.1.
- Features a transparent MathMap->C compiler under GIMP 1.1 boosting performance by a factor 2 to 8.
- Simple vector and matrix algebra.
- Pixels outside the image can now be either wrapped or given any color (including transparency).
Changes since 0.6
- Implemented the tagged tuples type system. This is a major feature!
- Implemented better error handling by borrowing a piece of code from the current development tree of chpp.
Changes since 0.5
- Alpha channel now shows up in the preview (thanks to Andy Thomas).
- Added the exponentation operator (^).
Changes since 0.4
- Completely redesigned the dialog.
- Added a curve widget which allows the user to intuitively specify a function which can be accessed from the expression (curve).
- Added the function gradient which accesses the user-defined gradient.
- Made it possible to change the parameter t when not animating.
- Implemented a fast-preview option.
- Put the examples into a file which is displayed in a tree widget.
- Expressions are now edited in a text widget, which allows for multi-line expressions.
- Moved the plug-in to Filters/Generic, so as to conform to the new menu hierarchy.
Changes since 0.3
- Added syntactic sugar for some functions (especially logical operators).
- Added a pow function.
- Support for alpha layer.
- Support for grayscale images.
- Animation capability.
Changes since 0.2
- if is now a language-level construct.
- I have introduced while and do-while loops.
Changes since 0.1
- Fixed the bug that caused it to crash after the first preview.
- Added a few more functions: red, green, blue and rgbColor.
- Added the assignment (=) and the sequence operator (;).
Check out other projects I'm involved with!