import java.awt.image.*; import java.awt.*; import java.awt.event.*; import java.applet.Applet; public class Pildiloomine3 extends Applet implements MouseListener{ int hx=100, hy=100; public Pildiloomine3(){ addMouseListener(this); } public Image looLainetus(int laius, int korgus, int kx, int ky, double lainepikkus){ int punktid[] = new int[laius*korgus]; int nr=0; for (int y = 0; y < korgus; y++){ for (int x = 0; x < laius; x++) { int punane=125+(int)(125*Math.sin(kaugus(x, y, kx, ky)*2*Math.PI/lainepikkus)); // int punane=Math.max(255-(int)(255*Math.sqrt((x-hx)*(x-hx)+(y-hy)*(y-hy))/(laius)), 0); int sinine = 200; punktid[nr++] = (255<<24)|(punane << 16) | sinine; } } return createImage(new MemoryImageSource(laius, korgus, punktid, 0, laius)); } static double kaugus(double x1, double y1, double x2, double y2){ double vahex=x2-x1; double vahey=y2-y1; return Math.sqrt(vahex*vahex+vahey*vahey); } public void paint(Graphics g){ Image pilt=looLainetus(getSize().width, getSize().height, hx, hy, 20); g.drawImage(pilt, 0, 0, null); } public void update(Graphics g){ paint(g); } public void mousePressed(MouseEvent e){ hx=e.getX(); hy=e.getY(); repaint(); } public void mouseReleased(MouseEvent e){} public void mouseClicked(MouseEvent e){} public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public static void main(String argumendid[]){ Frame f=new Frame(); f.add(new Pildiloomine3()); f.setSize(200, 220); f.setVisible(true); } }