Моя цель с этим алгоритмом, над которым я работаю, - вывести цветовую прогрессию из некоторых предоставленных цветов. Под цветовой прогрессией я подразумеваю создание эффекта «затухания» между двумя цветами (цвет A, цвет B) и сохранение каждого значения цвета ((R, G, B) кортеж) между ними.
Например, если предоставлено общее количество черного A = (0,0,0)
и всего белого B = (255,255,255)
, результат прогрессии будет:
P = ((0,0,0),(1,1,1),(2,2,2), .... ,(253,253,253),(254,254,254),(255,255,255)
Так что сначала мы получаем белый цвет, а затем он постепенно превращается в черный. Это, конечно, очень просто с белым и черным (просто увеличивайте RGB на один каждый шаг в 255 раз). Но что, если я хочу выполнить эту процедуру с двумя произвольными цветами, например A = (180,69,1) и B = (233,153,0) ??
ВАЖНОЕ ПРИМЕЧАНИЕ: если с шестнадцатеричным (или любым другим типом цветового обозначения) этого будет легче достичь, я мог бы работать и с этим, просто укажите, какой тип (примите во внимание, что я работаю над PIL (Python Imaging Library) , так что если он совместим с этим, я в порядке)
Очевидно, что это должно быть как можно более равномерное распределение, прогрессия должна быть однородной.
Мне нужно выяснить этот алгоритм, чтобы я мог использовать его в своем генераторе фракталов (набор Мандельброта, погуглите, если хотите), поэтому важно, чтобы прогресс был как можно более мягким, без сбоев.
Заранее спасибо.