#!/usr/bin/perl -w

use GD;
use constant dwa_pi => 6.28318530717959;

# Tworzenie rysunku GIF o wymiarach 200 x 200 o bialym kolorze.
#
$rysunek = new GD::Image(200, 200);
$rysunek->colorAllocate(255, 255, 255);

# Zdefiniowanie koloru rysunku.
#
$czarny = $rysunek->colorAllocate(0,0,0);

# Zwiekszanie $theta od 0 do dwa_pi.
#
for ($theta = 0; $theta <= dwa_pi; $theta += .001) {
    $r = 50 * (1 + cos($theta));

    # Konwersja wspolrzednych biegunowych do kartezjanskich i rysowanie.
    #
    $x = $r * cos($theta);
    $y = $r * sin($theta);
    $rysunek->setPixel($x + 50, $y + 100, $czarny);
}

print $rysunek->gif;
