sub {{
my $ret = [ map {int} @$c ];
...
####
$w = [ map {
my $v = $f + $s*$_/$i;
$f = $v - int($v);
$v # not int $v
} @$w ];
$w->[-1] += $f;
####
use constant PI => 4 * atan2(1,1);
my $intervals = 40;
my $iterlin = range( [ 0,255,255] => [ 0,255, 0],
[(1) x $intervals],
$intervals );
my $itersin = range( [ 0,255,255] => [ 0,255, 0],
[ map {sin(($_/$intervals)*PI) } 0..$intervals],
$intervals );
print qq{Gradient
\n};
while (my ($rgb_lin, $width) = $iterlin->()) {
my ($rgb_sin, $widthsin) = $itersin->();
my $lin = join '', '#',
map { sprintf '%02x',$_ } @$rgb_lin;
my $sin = join '', '#',
map { sprintf '%02x',$_ } @$rgb_sin;
print qq{
| $$rgb_lin[0] |
$$rgb_lin[1] |
$$rgb_lin[2] |
$$rgb_sin[0] |
$$rgb_sin[1] |
$$rgb_sin[2] |
};
}
print "
\n";