BENOJT - the Fractal Explorer
SourceForge.net Logo

Contents


About Benojt

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.

Features

  • 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.

Why Java?

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.

Download Benojt

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 Sourceforge.net.

Running Benojt

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:
  1. 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.
  2. by downloading and running the jar archive benojt.jar (type 'java -jar benojt.jar' at the command line)
  3. 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.

Contact

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 benojt@inner-space.de.

Or use this form:

your email:
subject:
body:

You can also check the Freshmeat Benojt page.

Screenshots
click to enlarge
There are downloadable examples in the web gallery.

a mandelbrot star

creating new fractals by typing formulas into templates

It is easy to draw a newton fractal with all the infrastructure in place. This is sinus hyperbolicus.

or an icon

or an attractor

Exploring Lyapunov fractals

another bizzare world rendered with the multithread renderer

a parameter map of the julia set looks like the mandelbrot set
frank felfe | inner-space
SourceForge.net