Gradient na płaszczyźnie

Tak na prawdę, to zadanie powinno być w dziale "DYWANY". Ale też głównie postaramy się uzyskać efekt "GRADIENTU" wg nowego algorytmu. A więc potraktujmy to jako zadanie "graniczne".

Ustalimy, dla każdego piksla (o współrzędnych całkowitoliczbowych) kolor.
W Javie nie ma procedury, która rysuje pojedyńczy piksel, rysuje się go zwykle na dwa sposoby:
  1. g.drawLine(x,y,x,y)
    czyli rysujemy kreskę z punktu do tego samego punktu
  2. g.fillRect(x,y,1,1)
    czyli zamaluj prostokąt 1x1
My rysujemy na bitmapie : BufferedImage mapa;
  1. tworzymy bitmapę :
       dl=getWidth() sz=getHeight ();
        mapa=(BufferedImage)createImage(dl,sz);
  2. zapalemy piksel :
       mapa.setRGB(i,j,kolor);
  3. pokazujemy rezultat :
       g.drawImage(mapa,0,0,this);


Oto procedura rysująca i funkcja ustalająca kolor:
void maluj( Graphics g )
{Point p=new Point( ); 

 for(p.x=0;p.x<dl;p.x++) 
  for(p.y=0;p.y<sz;p.y++) 
    mapa.setRGB(p.x,p.y,JakiKolor(p); 
 g.drawImage(mapa,0,0,this); 
} 
int JakiKolor(Point p) 
{int r,g,b,kolor; 

  r=Math.min(90+x,Mr); 
  g=Math.min(90+y,Mg); 
  b=Math.min(90+(x-y),Mb); 
  kolor=(r<<16)+(g<<8)+b 
  return(kolor); 
}

To oczywiście tylko jeden z przykładów, jak prostymi środkami można osiągnąć niezły rezultat.
Pytanie, tylko do czego TO się może przydać ? Na pewno jest to jakiś kierunek..