Hallo zusammen,
ich wollte ein Mandelbrot-Rätsel fertig machen, aber mein Code gibt im JavaFX-Fenster nicht richtig aus:

Hier mein Code - vielleicht kann jemand mir eine Hilfsstellung geben? Ich glaub, die Zeile z = z.mul(c, z).add(c); noch paar Fehler enthält, aber ich bin nicht mehr weiter gekommen.
ich wollte ein Mandelbrot-Rätsel fertig machen, aber mein Code gibt im JavaFX-Fenster nicht richtig aus:

Hier mein Code - vielleicht kann jemand mir eine Hilfsstellung geben? Ich glaub, die Zeile z = z.mul(c, z).add(c); noch paar Fehler enthält, aber ich bin nicht mehr weiter gekommen.
Java:
private Image createMandelbrotImage() {
double realStep = (REAL_MAX - REAL_MIN) / WIDTH; //koordinate realen Schritt
double imaginaryStep = (IMAGINARY_MAX - IMAGINARY_MIN) / HEIGHT; //koordinate imaginäre Schritt
javafx.scene.image.WritableImage image = new javafx.scene.image.WritableImage(640, 480);
javafx.scene.image.PixelWriter pixelWriter = image.getPixelWriter();
//Koordinaten festlegen und in den loop laufen lassen
for (int x = 0; x < WIDTH; x++) {
for (int y = 0; y < HEIGHT; y++) {
double real = REAL_MIN + x * realStep;
double imaginary = IMAGINARY_MIN + y * imaginaryStep;
ComplexNumber c = new ComplexNumber(real, imaginary);
//Farbe für das Mandelbrot festlegen
if (isPartOfMandelbrotSet(c)) {
pixelWriter.setColor(x, y, Color.BLACK);
}
}
}
return image;
}
static boolean isPartOfMandelbrotSet(ComplexNumber c) {
int maxIterations = 50;
ComplexNumber z = new ComplexNumber(0, 0);
for (int i = 0; i < maxIterations; i++) {
//Koordinate multiplieren und addieren
//damit das Mandelbrot ausgegeben wird
z = z.mul(c, z).add(c);
if (ComplexNumber.abs(z) >= 2.0) {
return false; //das komplexe Zahl ist kein Teil vom Mandelbrot
}
}
return true; //das komplexe Zahl ist wahrscheinlich Teil vom Mandelbrot
}