Color wheel: Difference between revisions

Content deleted Content added
Thundergnat (talk | contribs)
→‎{{header|Perl 6}}: Add Perl 6 entry
Thundergnat (talk | contribs)
m →‎{{header|Perl 6}}: Better variable naming, minor style tweaks
Line 48: Line 48:
for ^$w -> $x {
for ^$w -> $x {
for ^$h -> $y {
for ^$h -> $y {
my $point = $center - ($x + $y*i);
my $vector = $center - $x - $y*i;
my $mag = 2 * $point.abs;
my $magnitude = $vector.abs * 2 / $w;
$png.set: $x, $y, |hsv2rgb( $point.&c2p, $mag / $w, so $mag < $w );
my $direction = ( π + atan2( |$vector.reals ) ) / τ;
$png.set: $x, $y, |hsv2rgb( $direction, $magnitude, $magnitude < 1 );
}
}
}
}
}

sub c2p ($xy) { # complex to polar angle scaled 0 to 2π
( π + atan2($xy.re, $xy.im) ) / τ
}
}