imagemagick/PerlMagick/demo/tree.pl

36 lines
744 B
Perl

#!/usr/bin/perl
#
# Example of using a lsys fractal,
# which in turm used Turtle Graphics
#
use Cwd;
use lib cwd;
require "lsys.pl";
%rule = (
'A' => 'S[---LMA][++++B]',
'B' => 'S[++LBg][--Cg]',
'C' => 'S[-----LB]GS[+MC]',
'g' => '',
'L' => '[{S+S+S+S+S+S}]'
);
%stemchanges = (
distance => 18.5,
dtheta => 0.1,
motionsub => sub{
$im->Draw ( primitive=>'line', points=>join(' ',@_),
stroke=>'dark green', strokewidth=>1 );
}
);
%polychanges = (
distance => 3,
dtheta => 0.4,
motionsub => sub{ push( @poly, @_[0..1] ); }
);
$changes = \%stemchanges;
lsys_init(400);
lsys_execute('A', 10, "tree.gif", %rule);