import java.applet.Applet; import java.awt.*; import java.awt.image.*; public class Ringid7 extends Applet implements Runnable{ double nurk1=Math.PI/2; double nurk2=Math.PI*7/6; double nurk3=-Math.PI/6; double suurimraadius=100; BufferedImage pilt; public Ringid7(){ new Thread(this).start(); } public void joonistaKujund(Graphics g, int keskx, int kesky, int r){ g.drawOval(keskx-r, kesky-r, 2*r, 2*r); if(r>1){ joonistaKujund(g, keskx, kesky, r/3); joonistaKujund(g, (int)(keskx+r*2/3*Math.cos(nurk1)), (int)(kesky-r*2/3*Math.sin(nurk1)), r/3); joonistaKujund(g, (int)(keskx+r*2/3*Math.cos(nurk2)), (int)(kesky-r*2/3*Math.sin(nurk2)), r/3); joonistaKujund(g, (int)(keskx+r*2/3*Math.cos(nurk3)), (int)(kesky-r*2/3*Math.sin(nurk3)), r/3); } } public void joonista(){ pilt=new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_RGB); Graphics piltg=pilt.createGraphics(); try{Thread.sleep(100);}catch(Exception e){} piltg.setColor(Color.white); joonistaKujund(piltg, getWidth()/2, getHeight()/2, (int)suurimraadius); getGraphics().drawImage(pilt, 0, 0, this); suurimraadius=suurimraadius*1.05; if(suurimraadius>getWidth()){ suurimraadius=suurimraadius/3; } } public void run(){ while(true){ try{ joonista(); }catch(Exception e){} } } public static void main(String argumendid[]){ Frame f=new Frame(); f.add(new Ringid7()); f.setSize(300, 300); f.setVisible(true); } }