fork download
  1. import java.applet.Applet;
  2. import java.awt.Graphics;
  3. class MainApp extends Applet {
  4. double xp1=300;
  5. double yp1=300;
  6. double xp2=10;
  7. double yp2=300;
  8. double sin60=Math.sin(3.14/3.);
  9. int nivel_de_recursividad=6;
  10.  
  11. public MainApp() { }
  12.  
  13. public static void main(String[] args) { }
  14.  
  15. public void paint(Graphics g){
  16. paintRecursivo(g,nivel_de_recursividad,xp1,yp1,xp2,yp2);
  17. }
  18.  
  19. private void paintRecursivo(Graphics g, int i, double xp12, double yp12, double xp22, double yp22 ) {
  20. double dx=(xp22-xp12)/3.;
  21. double dy=(yp22-yp12)/3.;
  22. double xx=xp12+3*dx/2.-dy*sin60;
  23. double yy=yp12+3*dy/2.+dx*sin60;
  24. if(i<=0){
  25. g.drawLine((int)xp12,(int)yp12,(int)xp22,(int)yp22);
  26. }
  27. else{
  28. paintRecursivo(g,i-1,xp12,yp12,xp12+dx,yp12+dy);
  29. paintRecursivo(g,i-1,xp12+dx,yp12+dy,xx,yy);
  30. paintRecursivo(g,i-1,xx,yy,xp22-dx,yp22-dy);
  31. paintRecursivo(g,i-1,xp22-dx,yp22-dy,xp22,yp22);
  32. }
  33. } }
  34.  
Success #stdin #stdout 0.22s 55608KB
stdin
Standard input is empty
stdout
Standard output is empty