Я запрограммировал набор Мандельброта с помощью python, но это выглядело странно, поэтому я искал плавные цвета.
Я запрограммировал функцию плавного окрашивания, используя лог и линейную интерполяцию, но что бы я ни пытался, я не могу получить то, что хочу:
self.palette = [(3, 25, 61),(5, 43, 107),(7, 61, 153),(20, 96, 226),(20, 164, 226),(74, 181, 226),(138, 211, 242),(205, 234, 247),(225, 237, 242),(255,255,255)]
Вот моя палитра
if n == self.max_iterations:
self.screen.set_at((x, y), (110, 13, 13))
else:
gradient = 1 + n - math.log(math.log(abs(m))) / math.log(2.0)
iteration = n + 1 - gradient
color1 = list(self.palette[n % 10])
if n % 10 <= 8:
color2 = list(self.palette[n % 10+1])
else:
color2 = list(self.palette[-1])
color = [[], [], []]
for number, elt in enumerate(color):
color[number] = color1[number] + (iteration % 1)*(color2[number]-color1[number])
self.screen.set_at((x, y), tuple(color))
Вот моя функция окраски
А вот что я получаю
![](https://i.stack.imgur.com/COpGu.jpg)
Как вы можете видеть, цвета гладкие, но в неправильной форме нет преемственности в цветах
Я бы хотел что-то вроде этого:
идеальный результат
мы не видим цветовых пробелов