Fractals is a library for creating fractal images in your Ruby programs. It currently renders the Burning Ship, Julia Set, Mandelbrot, and Newton fractals using the Escape Time or Normalized Iteration Count algorithm. The Themes module contains a few predefined coloring palettes, but the Fractal type will also accept any user-defined algorithm or theme.

Changes:

There have been a few changes since version 1.1.0.  I've removed
most of the duplicate code, added Procs where appropriate, and
made the syntax more consistent.  The result is much more
readable and should be easier to maintain.

1.  The source code has been split into multiple files.  One for
    each module.
2.  Each of the fractals has been distilled to a single block
    passed to the Fractal base class' constructor.  This makes
    it easy to construct new orbits fractals by either
    inheriting from Fractal or instantiating it directly.
3.  Classes have been added for the Burning Ship and Newton
    fractals.
4.  A 'Winter' theme has been added.
5.  Users can now choose which dependancy nightmare they'd
    prefer.  PNG, RMagick and JRuby each have their own renderer.
    PNGRenderer is the default, but is easy to override with the
    renderer= method.  Be sure to install the proper dependencies
    before using the RMagick or JRuby renderers.
6.  bailout and max_iterations are no longer constructor
    parameters.  This is the biggest breaking change.
7.  Unit tests have been added for each fractal.
8.  Several rake tasks have been added to make installation and
    gem creation easier.

See the documentation for a complete API reference.

Installation:

sudo gem install fractals

Installing from source:

svn checkout http://svn.ryanbaxter.net/fractals/tags/release-1.2.1 fractals-1.2.1
cd fractals-1.2.1
rake install

*Be sure to install the proper dependencies before using the RMagick or JRuby renderers.

Using Fractals:

require 'rubygems'
require 'fractals'

mandelbrot = Fractals::Mandelbrot.new
mandelbrot.write

Examples can be found in the examples.rb file. Uncomment the fractal you’d like to create before running.

License:

Copyright (c) 2009  Ryan Baxter

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 2
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, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.