Julia set: Difference between revisions
Content added Content deleted
m (→{{header|Perl}}: minor code simplification) |
m (→{{header|Perl}}: mor code simplifications) |
||
Line 95: | Line 95: | ||
my $maxIter = 255; |
my $maxIter = 255; |
||
my($cX, $cY) = (-0.7, 0.27015); |
my ($cX, $cY) = (-0.7, 0.27015); |
||
my ($moveX, $moveY) = (0, 0); |
my ($moveX, $moveY) = (0, 0); |
||
my $color = Imager::Color->new('#000000'); |
|||
foreach my $x (0 .. $w - 1) { |
foreach my $x (0 .. $w - 1) { |
||
Line 103: | Line 105: | ||
my $zy = (($y - $h / 2) / (0.5 * $zoom * $h) + $moveY); |
my $zy = (($y - $h / 2) / (0.5 * $zoom * $h) + $moveY); |
||
my $i = $maxIter; |
my $i = $maxIter; |
||
while ($zx**2 + $zy**2 < 4 and --$i >= 0) { |
|||
($zy, $zx) = (2 |
($zy, $zx) = (2 * $zx * $zy + $cY, $zx**2 - $zy**2 + $cX); |
||
} |
} |
||
$color->set(hsv => [$i / $maxIter * 360, 1, $i > 0 ? 1 : 0]); |
|||
hsv => [($i / $maxIter) * 360, 1, $i > 1 ? 1 : 0] |
|||
); |
|||
$img->setpixel(x => $x, y => $y, color => $color); |
$img->setpixel(x => $x, y => $y, color => $color); |
||
} |
} |