import java.awt.*;
import java.applet.*;

public class JuliaFarbig extends Applet
{
  Turtle t;
  public void paint(Graphics g)
  {
    t = new Turtle(this, 100, 150, 0);
    zeichne();   // Aufruf des Hauptprogramms
  }

  void zeichne() // Hauptprogramm
  { double xMin = -1.5;
    double xMax =  1.5;
    double yMin = -1.0;
    double yMax =  1.0;
    t.setzeKOS(xMin, xMax, yMin, yMax);

    int maxSprungAnzahl = 1000;
    int sprungNummer;
    int farbNr;
    double dx = (xMax-xMin)/800.0;
    double dy = (yMax-yMin)/600.0;
    double cx = -0.731;
    double cy = 0.15;
    double startX;
    double startY;
    double x;
    double y;
    double neux = 0;
    double neuy = 0;
    double betragsQuadrat = 0;

    startY = yMin;
    while (startY <= yMax)
    {    // Zeile abarbeiten
         startX = xMin;
         while (startX <= xMax)
         {
              x  = startX;
              y  = startY;
              betragsQuadrat = x*x + y*y;
              sprungNummer = 1;

              // Jetzt wird gesprungen
              while ((sprungNummer <= maxSprungAnzahl) && (betragsQuadrat <= 4))
              {  sprungNummer++;
                 neux = x*x - y*y + cx;
                 neuy = 2*x*y + cy;
                 x = neux;
                 y = neuy;
                 betragsQuadrat = x*x + y*y;
              } // end while

              if (betragsQuadrat <= 4)
                   t.stiftfarbe(Color.black);
              else { farbNr = sprungNummer % 16;
                     t.stiftfarbe(new Color(256-(farbNr*16+15),60,(farbNr*16+15)));
                   }
              t.dickPunkt(startX, startY, 1);
              startX = startX + dx;
          } // while startX
          startY = startY + dy;
     } // while startY
   }
} // class JuliaFarbig

