C:\>perltidy mandelbrot.pl #### C:\>type mandelbrot.pl.tdy #!/usr/bin/perl $r = 50; $c = 50; $xr = 6; $yr = 3; $xc = -0.5; $dw = $z = -4 / 100; local $"; while ( $q = $dr = rand() / 7 ) { $w += $dw; $_ = join $/, map { $Y = $_ * $yr / $r; join "", map { $x = $_ * $xr / $c; ( $x, $y ) = ( $xc + $x * cos($w) - $Y * sin $w, $yc + $x * sin($w) + $Y * cos $w ); $e = -1; $a = $b = 0; ( $a, $b ) = ( $u - $v + $x, 2 * $a * $b + $y ) while ( $u = $a * $a ) + ( $v = $b * $b ) < 4.5 && ++$e < 15; if ( ( $e > $q && $e < 15 ) || ( $e == $q and rand() < $dr ) ) { $q = $e; ( $d0, $d1 ) = ( $x, $y ); } chr( +( 32, 96, +46, 45, 43, 58, 73, 37, 36, 64, 32 )[ $e / 1.5 ] ); } ( -$c / 2 ) .. ( $c / 2 ) - 1; } ( -$r / 2 ) .. ( $r / 2 ) - 1; select $", $", $", 0.015; system $^O=~ m ~[wW]in~x ? "cls" : "clear"; print; $xc = ( $d0 + 15 * $xc ) / 16; $yc = ( $d1 + 15 * $yc ) / 16; $_ *= 1 + $z for $xr, $yr; $dw *= -1 if rand() < 0.02; ( ++$i % 110 ) || ( $z *= -1 ); } C:\>