How to resolve the algorithm Barnsley fern step by step in the Raku programming language
Published on 12 May 2024 09:40 PM
How to resolve the algorithm Barnsley fern step by step in the Raku programming language
Table of Contents
Problem Statement
A Barnsley fern is a fractal named after British mathematician Michael Barnsley and can be created using an iterated function system (IFS).
Create this fractal fern, using the following transformations: Starting position: x = 0, y = 0
Let's start with the solution:
Step by Step solution about How to resolve the algorithm Barnsley fern step by step in the Raku programming language
Source code in the raku programming language
use Image::PNG::Portable;
my ($w, $h) = (640, 640);
my $png = Image::PNG::Portable.new: :width($w), :height($h);
my ($x, $y) = (0, 0);
for ^2e5 {
my $r = 100.rand;
($x, $y) = do given $r {
when $r <= 1 { ( 0, 0.16 * $y ) }
when $r <= 8 { ( 0.20 * $x - 0.26 * $y, 0.23 * $x + 0.22 * $y + 1.60) }
when $r <= 15 { (-0.15 * $x + 0.28 * $y, 0.26 * $x + 0.24 * $y + 0.44) }
default { ( 0.85 * $x + 0.04 * $y, -0.04 * $x + 0.85 * $y + 1.60) }
};
$png.set(($w / 2 + $x * 60).Int, ($h - $y * 60).Int, 0, 255, 0);
}
$png.write: 'Barnsley-fern-perl6.png';
You may also check:How to resolve the algorithm Sum of a series step by step in the Mathematica/Wolfram Language programming language
You may also check:How to resolve the algorithm Top rank per group step by step in the M2000 Interpreter programming language
You may also check:How to resolve the algorithm Vector products step by step in the Elixir programming language
You may also check:How to resolve the algorithm Map range step by step in the jq programming language
You may also check:How to resolve the algorithm Factorial base numbers indexing permutations of a collection step by step in the Perl programming language