Wykres nierówności

Najpierw tworzymy funkcję F(x,y) np :
double f(lo28.pkt p) 
{ 
 return(Math.sin(p.x-p.y));
}

Potem oczywiście kolorowanie dywanu.
Najprostsza wersja to np taka:

Color JakiKolor(pkt2d w) 
{
 if(f(w)>0) return (Color.red);
   else 
    return(Color.blue);
} 
Z punktu widzenia matematyki - OK.
Postaram się trochę ulepszyć wygląd wykresu - pokażę efekt 3D.
Pomysł nie jest zbyt orginalny, ale czas pokazać w praktyce zastosowanie programowania gradientu.
Pomysł jest taki: funkcja F(x,y) będzie "gradialnie dodatnia" i "gradialnie ujemna".

"Dodatniość" i "ujemność" wyrazimy przy pomocy 20 czerwieni i 20 błękitów :
Color pal_r[]=new Color[20]; 
Color pal_b[]=new Color[20]; 
........................... 
........................... 
void paleta() 
{ 
  for(int i=0;i<20;i++) 
  { 
    pal_r[i]=new Color(145+5*i,i,i); 
    pal_b[i]=new Color(i,i,255-5*i); 
  } 
}
Wykorzystujemy pasmo długości 100 dla R i B, uzyskując dwa 20-poziomowe gradienty. Funkcja koloryzująca przyjmie teraz postać:
Color JakiKolor(pkt2d w) 
{
 int nr; 
 double y=f(w); 
  
 nr=(int)(Math.abs(y)/0.05); 
 if(y>0) 
   if(nr<20) return(pal_r[nr]);
    else return(Color.red); 
 else 
    if(nr<20) return(pal_b[nr]);else return(pal_b[19]); 
}