# jtpalmer/Math-Fractal-Julia

Switch branches/tags
Nothing to show
Fetching contributors…
Cannot retrieve contributors at this time
151 lines (104 sloc) 3.98 KB
 NAME Math::Fractal::Julia - Calculate points in the Julia set VERSION version 0.000003 SYNOPSIS use Math::Fractal::Julia; # Procedural usage: Math::Fractal::Julia->set_max_iter(\$iters); Math::Fractal::Julia->set_limit(\$limit); Math::Fractal::Julia->set_bounds( \$x1, \$y1, \$x2, \$y2, \$w, \$h ); Math::Fractal::Julia->set_constant( \$cx, \$cy ); for my \$y ( 0 .. \$h - 1 ) { for my \$x ( 0 .. \$w - 1 ) { my \$iter = Math::Fractal::Julia->point( \$x, \$y ); } } # Object Oriented usage: my \$julia = Math::Fractal::Julia->new( max_iter => \$iters, limit => \$limit, bounds => [ \$x1, \$x2, \$y1, \$y2, \$width, \$height ], constant => [ \$cx, \$cy ], ); for my \$y ( 0 .. \$h - 1 ) { for my \$x ( 0 .. \$w - 1 ) { my \$iter = \$julia->point( \$x, \$y ); } } DESCRIPTION Calculates points in the set named after the French mathematician Gaston Julia. The procedural interface is based on that provided by Math::Fractal::Mandelbrot. METHODS new Arguments: %options? Return value: A Math::Fractal::Julia object Creates a new Math::Fractal::Object. If no options are provided, the default values will be used. options The "options" hash may contain any or all of the following: max_iter => \$iters limit => \$limit bounds => [ \$x1, \$x2, \$y1, \$y2, \$width, \$height ] constant => [ \$cx, \$cy ] The default maximum number of iterations is 600. The default limit is 5. The default bounds is [-2.2, -1.1, 1.0, 1.1, 640, 480]. The default constant is [0.0, 0.0]. my \$julia = Math::Fractal::Julia->new(); my \$julia = Math::Fractal::Julia->new(%options); my \$julia = Math::Fractal::Julia->new( max_iter => \$iters, limit => \$limit, bounds => [ \$x1, \$x2, \$y1, \$y2, \$width, \$height ], constant => [ \$cx, \$cy ], ); set_max_iter Arguments: \$max Return value: undefined Set the maximum number of iterations. The default value is 600. Math::Fractal::Julia->set_max_iter(\$max); \$julia->set_max_iter(\$max); set_limit Arguments: \$limit Return value: undefined The default value is 5. Math::Fractal::Julia->set_limit(\$limit); \$julia->set_limit(\$limit); set_bounds Arguments: \$x1, \$y1, \$x2, \$y2, \$width, \$height Return value: undefined Set the bounds of the set. The first four values (\$x1, \$y1, \$x2, \$y2) define a rectangle. The remaining two (\$width, \$height) define a viewport. The default values are (-2.2, -1.1, 1.0, 1.1, 640, 480). Math::Fractal::Julia->set_bounds( \$x1, \$y1, \$x2, \$y2, \$width, \$height ); \$julia->set_bounds( \$x1, \$x2, \$y1, \$y2, \$width, \$height ); set_constant Arguments: \$cx, \$cy Return value: undefined The default values are (0.0, 0.0). Math::Fractal::Julia->set_constant( \$cx, \$cy ); \$julia->set_constant( \$cx, \$cy ); point Arguments: \$x, \$y Return value: The number of iterations needed to exceed the limit or 0 if the the limit is not exceeded. This function translates the coordinates using the bounds and then iterates. \$iters = Math::Fractal::Julia->point( \$x, \$y ); \$iters = \$julia->point( \$x, \$y ); CAVEATS * This module is not thread-safe. * Any packages derived from "Math::Fractal::Julia" will share the same internal state when the procedural interface is used. SEE ALSO * Math::Fractal::Mandelbrot * Julia set AUTHOR Jeffrey T. Palmer COPYRIGHT AND LICENSE This software is copyright (c) 2012 by Jeffrey T. Palmer. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.