Benojt is an explorer for different types of fractals. It focuses on easy navigation
in a fractal image and flexible creation of new fractals.
Due to its modular design single components like iterators, renders and colorings can be
replaced making it easy to experiment with individual aspects of the creation of a fractal image.
New fractal iterators can be created from templates and compiled and supplied at runtime.
Hence Benojt can render an unlimited number of fractals.
At the moment Benojt can render escape-time fractals in the complex plane like Mandelbrot, Julia and
Newton style fractals, Lyapunov fractals and various types of attractors/strange attractors.
Other fractal types will follow soon.
- Rendering fractals in the complex plane like Mandelbrot and Julia sets, Newton fractals,
Lyapunov fractals and two, three and four dimensional attractors e.g.those presented in the book
Symmetry in Chaos or the book Strange Attractors.
- Draw stereograms of 3D and 4D attractors
- Save/load fractal parameters to/from XML files.
- Arbitrary precision math support
- Multiple render threads to utilize multiprocessor systems
- Rendering parameter maps for fractals with constant parameters
- Modular design which allows easy replacement of single modules and experimenting with single
aspects of fractal drawing.
- Easy navigation using mouse and keyboard
- Creation of fractals from templates. i.e. you insert a formula or any Java code and
a new iterator is automatically compiled and loaded. e.g. this is what you get when you type
z = z.exp(5).add(c) into the complex-number-template:
Why another fractal explorer?
Simply because I didn't like the others. While concentrating on creating nice images they typically
lack flexibility and ways to insert and test fractal formulas.
Okay, but the actual purpose of Benojt is to make me look cool and have fun with Java and fractal math.
If you have ideas how to improve the program or new fractal types to implement I'd encourage you to do so.
This way you too can look cool and have fun with Java and fractal math.
Because it is the best tool for the task. The high productivity in development and independence from the
hardware platform easily outweigh possible disadvantages.
Some people might argue that Java is slow and not suited for CPU-intensive computations like fractal rendering.
Thats wrong, Java is NOT slow. Due to modern virtual machine architecture the actual speed loss
by executing a program in a virtual machine is very low if it exists at all.
Methods are executed in native bytecode as soon as they are completely compiled.
Furthermore fractal sets are computed by very simple loops without complex data structures and the
need to access resources outside the CPU.
Hence, Benojt renders fractals as least as fast as tools written in other languages.
The latest release (0.7) can be downloaded as jar or as a
zip containg start scripts and release information.
I regularly upload a current development version containing the
newest features and newest bugs.
Benojt is free software released under the terms of the GPL.
You are free to use it, modify the source code and redistribute it as long as your changes are
redistributed under the same license.
The source code of the current release can be downloaded here.
There is also anonymous read access to the SVN repository
that is hosted by sourceforge.net. More information about this can be found at the
Sourceforge Benojt project page.
Older releases can be found at
To run Benojt you need a Java Runtime Environment (JRE) installed which supports at least Java 1.5.
If you want to use the runtime class compilation and loading feature you need a Java compiler (javac) installed
and in your PATH-environment-variable. A Java compiler is e.g. contained in the Sun Java Development Kid (JDK).
A current JRE/JDK can be downloaded here.
There are 3 ways to run Benojt:
- via Java Web Start by clicking this link.
You will be asked to trust the application and hence grant all permissions. This is necessary to read the
module list in the jar-archive and compile new modules. Otherwise the program wouldn't be usable.
This method should work with Mozilla and Explorer. Other browsers might have to be configured
to run the returned jnlp-file with javaws (i.e. javaws benojt.jnlp)
You can learn more about Java Web Start at its homepage.
- by downloading and running the jar archive benojt.jar
(type 'java -jar benojt.jar' at the command line)
- by downloading the source code into you favourite Java IDE,
compiling it and running net.benojt.Benojt.main().
The source code links can be found in the source code section below.
Please send comments, critics, complaints, hints, feature requests, bug reports and patches.
For that you can use the
tracker system and
forums at the
Sourceforge Benojt project page.
Or write an email to firstname.lastname@example.org.
Or use this form:
You can also check the Freshmeat Benojt page.