Kronecker product based fractals: Difference between revisions
Content added Content deleted
m (added whitespace to the simple matrices and used a better glyph, added whitespace and highlighting to the task preamble, added whitespace before the table of contents (TOC) .) |
SqrtNegInf (talk | contribs) m (→{{header|Perl 6}}: added .race for concurrency) |
||
Line 1,837: | Line 1,837: | ||
=={{header|Perl 6}}== |
=={{header|Perl 6}}== |
||
{{works with|Rakudo| |
{{works with|Rakudo|2018.09}} |
||
<lang perl6>sub kronecker-product ( @a, @b ) { (@a X @b).map: { (.[0].list X* .[1].list).Array } } |
<lang perl6>sub kronecker-product ( @a, @b ) { (@a X @b).map: { (.[0].list X* .[1].list).Array } } |
||
Line 1,860: | Line 1,860: | ||
my @img = kronecker-fractal( @shape, $order ); |
my @img = kronecker-fractal( @shape, $order ); |
||
my $png = Image::PNG::Portable.new: :width(@img[0].elems), :height(@img.elems); |
my $png = Image::PNG::Portable.new: :width(@img[0].elems), :height(@img.elems); |
||
(^@img[0] X ^@img).race.map: -> ($x, $y) { |
|||
$png.set: $x, $y, |( @img[$y;$x] ?? <255 255 32> !! <16 16 16> ); |
$png.set: $x, $y, |( @img[$y;$x] ?? <255 255 32> !! <16 16 16> ); |
||
} |
} |