Я пишу приложение Мандельброта на C # (и тестирую на Python). У меня уже есть сплошная раскраска от набора до его границ. Моя текущая проблема - установить цвет фона окружения. Мой текущий код для получения цвета теперь выглядит так: он получает цвет как двойной (функция логарифмирования выполняется раньше) и проверяет, является ли он частью или нет, и создает довольно плавный градиент (от черного к оранжевому).
private Color getColor(double i)
{
double ratio = i / (double)(iterations);
int col = (int)(i / iterations * 255);
int alpha = 255;
if (ratio >= 0 && ratio < 0.25)
return Color.FromArgb(alpha, col, col/5, 0);
if (ratio >= 0.25 && ratio < 0.50)
return Color.FromArgb(alpha, col, col/4, 0);
if (ratio >= 0.50 && ratio < 0.75)
return Color.FromArgb(alpha, col, col/3, 0);
if (ratio >= 0.75 && ratio < 1)
return Color.FromArgb(alpha, col, col/2, 0);
return Color.Black; //color of the set itself
}
Как я могу изменить черную среду (не набор Мандельброта) на другой цвет, например обфусцированный скрипт Python (http://preshing.com/20110926/high-resolution-mandelbrot-in-obfuscated-python) делает? Я уже отредактировал сценарий в более красивой форме, но он не соответствует моему алгоритму.
РЕДАКТИРОВАТЬ: Забыл упомянуть, я не использую класс для сложного уравнения, я вычисляю фрактал с алгоритмом, который показан в Википедии.
iterations
в вашем коде. Как видите, для этого черно-белый постеризованный версии изображения в опубликованной вами ссылке, есть много мелких вариаций значений цвета вне набора Julia, которые используются для того, чтобы фрактал выглядел размытым. Я могу расширить свои ответы о псевдоцвете и показать, как заставить их интерполировать между всей палитрой (списком) разных цветов rgb вместо двух, если вы думаете, что это будет полезно. - person martineau   schedule 29.04.2013