Я бы использовал цветовое пространство HSV / HSL, а затем преобразовал результаты в RGB.Сохраняйте постоянные значения и насыщенность (S и V), чьи качества вам нравятся, а затем измените значение оттенка (H) для количества цветов, которое вы хотите.Конвертируйте результаты в RGB, и у вас будет хороший набор цветов, которые хорошо сочетаются друг с другом.Вы можете создать любой набор хороших цветов, которые являются «насыщенными», «яркими», «темными» и т. Д., Просто выбирая для своих нужд хорошие комбинации S и V (низкий V - темный, высокий V - яркий, низкий S -ненасыщенный, высокий S насыщенный).
Посмотрите на на этой вики-странице , чтобы обсудить преобразование HSV в RGB.Я бы порекомендовал вам начать с насыщенности (S) на уровне 0,5 и значения (V) на уровне 0,8.Затем, чтобы создать красивые цвета, выполните преобразование HSV -> RGB для значений H от 0, 30, 60, 90 ... вплоть до 360. Это создаст хорошую палитру цветов, которые хорошо смотрятся вместе.Позже вы можете отрегулировать значения S и V, если хотите использовать разные цветовые качества.