Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

новая папка / лаб 4-5-6 / BurningShip

.java
Скачиваний:
6
Добавлен:
26.02.2023
Размер:
1.85 Кб
Скачать
import java.awt.geom.Rectangle2D;

public class BurningShip extends FractalGenerator {
// максимальное количество итераций
public static final int MAX_ITERATIONS = 2000;

@Override
// установка начальных значений для отрисовки фрактала
public void getInitialRange(Rectangle2D.Double rect) {
// в соответствии с начальным диапазоном в (-2 - 1.5i) - (1 + 1.5i):
rect.x = -2;
rect.y = -2.5;
rect.height = 4;
rect.width = 4;

}

@Override
// подсчет итераций для каждого пикселя
public int numIterations(double x, double y) {
int counter = 0;
// действительная часть комплексного числа
double real = 0;
// мнимая часть
double imaginary = 0;
double z_n2 = 0;

// основная формула для построения фрактала мандельброта
// модуль комплексного числа должен не превышать 2
while (counter < MAX_ITERATIONS && z_n2 < 4) {
counter++;

double nextRe = real * real - imaginary * imaginary + x;
double nextIm = 2 * Math.abs(real) * Math.abs(imaginary) + y;

z_n2 = nextRe * nextRe + nextIm * nextIm;

real = nextRe;
imaginary = nextIm;
}

// тернарный оператор: true -> counter; false -> -1
// -1 -> установка черного цвета
return counter < MAX_ITERATIONS ? counter : -1;
}

public String toString() {
return "Burning Ship";
}

}
Соседние файлы в папке лаб 4-5-6
  • #
    26.02.20231.01 Кб6BurningShip.class
  • #
    26.02.20231.85 Кб6BurningShip.java
  • #
    26.02.2023998 б6FractalExplorer$ChooseFractal.class
  • #
    26.02.20231.7 Кб6FractalExplorer$FractalWorker.class
  • #
    26.02.20231.21 Кб6FractalExplorer$MouseHandler.class
  • #
    26.02.2023834 б6FractalExplorer$ResetDisplay.class
  • #
    26.02.20231.64 Кб6FractalExplorer$SavePic.class