And this one draws a random Dragon Outline as a CGI program :

#!/usr/bin/perl -w use CGI qw(:standard); use strict; use GD; use vars qw($magnitude $P $Q $scale); my ($x_centre,$y_centre) = (320,175); if ( scalar param() < 3 ) { my @configs = map {chomp; [ split ]} <DATA>; ($P,$Q,$scale) = @{ $configs[rand @configs] }; } else { $P = param('real'); $Q = param('imaginary'); $scale = param('scale'); } my $image = new GD::Image($x_centre * 2,$y_centre * 2); my $back_colour = $image->colorAllocate(255,255,255); my $fore_colour = $image->colorAllocate(0,0,0); my ($x,$y) = (0.50001,0); $magnitude = ($P*$P) + ($Q*$Q); $P = 4*$P/$magnitude; $Q = -4*$Q/$magnitude; $scale = $x_centre * $scale; for ( 1 .. 12000 ) { my $temp_x = ($x * $P ) - ($y * $Q ); $y = ($x * $Q) + ($y * $P ); my $temp_y = $y; $x = 1 - $temp_x; $magnitude = sqrt(($x * $x ) + ($y * $y)); $y = sqrt((-$x + $magnitude)/2); $x = sqrt(($x + $magnitude)/2); ($x = -$x) if ($temp_y < 0 ); if ( rand() < 0.5 ) { $x = -$x; $y = -$y; } $x = (1- $x) / 2; $y = $y / 2; my $col = int(($scale * ($x - 0.5 )) + $x_centre); my $row = int($y_centre - ($scale * $y)); if ( ($_ > 0 ) && ($col >= 0 ) && ($col < (2 * $x_centre)) && ($row >= 0 ) && ($row < ($y_centre * 2 ))) { $image->setPixel($col,$row,$fore_colour); } } print header('image/png'); binmode(STDOUT); print $image->png; __END__ 1.646009 0.967049 0.75 2.447261 -0.967049 0.75 1.325508 0.786533 0.75 1.415414 0.856803 0.75 1.255399 0.691977 0.75 2.792809 -0.657593 0.75 3.018153 -0.098854 0.75 2.998122 0.004298 0.75

/J\


In reply to Another example by gellyfish
in thread Generating Fractals with Perl? by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.