XP is just a number PerlMonks

### Re: Re: Mandelbrot flythrough

by tachyon (Chancellor)
 on Feb 17, 2004 at 23:00 UTC ( #329790=note: print w/replies, xml ) Need Help??

in reply to Re: Mandelbrot flythrough

```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:\>

cheers

tachyon

Replies are listed 'Best First'.
Re: Re: Re: Mandelbrot flythrough
by Anonymous Monk on Mar 21, 2004 at 01:27 UTC
Doesn't work the same as the original, and yes I took care of the website wrapping on those three lines (with the red + symbols)

Create A New User
Node Status?
node history
Node Type: note [id://329790]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (7)
As of 2018-03-21 21:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
When I think of a mole I think of:

Results (270 votes). Check out past polls.

Notices?