Tworzymy dywany

Przez dywan, na potrzeby tego artykułu, będziemy rozumieli pokolorowanie płaszczyzny (ekranu) wg pewnej funkcji JakiKolor(punkt p), która realizuje zadany algorytm.
Przykładem dywanów były gradienty płaszczyzny w poprzednim rozdziale.
Procedura rysująca dywan jest bardzo prosta:

void rysuj(Graphics g) 
{ 
  pkt2d p=new pkt2d(0,0); 
  Color kolor; 

  for(p.x=x_min;p.x<=x_max;p.x+=dx) 
    for(p.y=y_min;p.y<=y_max;p.y+=dy) 
     { 
      kolor=JakiKolor(p); 
      lo28.punkt(g,p,kolor); 
    } 
}
W naszych przykładach zwykle:
x_min= -lo28.max_x();
x_max= lo28.max_x();
y_min= -lo28.max_y();
y_max= lo28.max_y();
dx=dy=0.05;
Co znaczy, że zamalujemy cały obszar apletu z dokładnością do 1 piksla.
Procedura zakłada oczywiście, że rysunek wykonany jest w skali 1:1 .

W procedurze dla np zbioru Mandelbrota rozwiażemy problem skalowania, w gradiencie płaszczyzny zaś stosujemy w pętli wyłącznie zmienne całkowitoliczbowe.
Generalnie jednak nie zmienia to zasadniczo prostej idei pomysłu rysowania.

Najciekawsze rzeczy będą oczywiście zawarte w funkcji JakiKolor(p) .
To w niej, tak na prawdę, zawarte będzie rozwiazanie poszczególnego zadania.