Barnsley fern: Difference between revisions

Content added Content deleted
(Added Perl)
(Added Sidef)
Line 141: Line 141:
$img->flip(dir => 'v');
$img->flip(dir => 'v');
$img->write(file => 'barnsleyFern.png');</lang>
$img->write(file => 'barnsleyFern.png');</lang>

=={{header|Sidef}}==
<lang ruby>require('Imager')

var w = 640
var h = 640

var img = %s<Imager>.new(xsize => w, ysize => h, channels => 3)
var green = %s<Imager::Color>.new('#00FF00')

var (x, y) = (0, 0)

for r in (^1e5 -> lazy.map { 100.rand }) {
(x, y) = (
if (r <= 1) { ( 0.00*x - 0.00*y, 0.00*x + 0.16*y + 0.00) }
elsif (r <= 8) { ( 0.20*x - 0.26*y, 0.23*x + 0.22*y + 1.60) }
elsif (r <= 15) { (-0.15*x + 0.28*y, 0.26*x + 0.24*y + 0.44) }
else { ( 0.85*x + 0.04*y, -0.04*x + 0.85*y + 1.60) }
)
img.setpixel(x => w/2 + 60*x, y => 60*y, color => green)
}

img.flip(dir => 'v')
img.write(file => 'barnsleyFern.png')</lang>


=={{header|tcl}}==
=={{header|tcl}}==