12345678910111213141516171819202122232425 |
- #!/usr/bin/perl
- # ASCII generation of the Mandelbrot set.
- # See also:
- # https://en.wikipedia.org/wiki/Mandelbrot_set
- use lib qw(../lib);
- use Math::AnyNum qw(i);
- sub mandelbrot {
- my ($z, $c) = @_[0, 0];
- for (1 .. 20) {
- $z = $z * $z + $c;
- return $_ if abs($z) > 2;
- }
- }
- for (my $y = 1 ; $y >= -1 ; $y -= 0.05) {
- for (my $x = -2 ; $x <= 0.5 ; $x += 0.0315) {
- print mandelbrot($x + $y * i) ? ' ' : '#';
- }
- print "\n";
- }
|