Я заметил, что вы (Rahkim) прокомментировали сообщение Грега, что хотите, чтобы вы могли поместить его идею (сохранение константы насыщенности и значения и просто изменение оттенка ... хорошая идея) в коде. Вы можете! Или, скорее, кто-то уже есть для вас!
Я нашел этот пост в блоге Преобразование HSV в цвет RGB с использованием C # , и я уверен, что есть и другие. Вы, вероятно, получите более хороший набор цветов, чем, выбирая их совершенно случайно.
Кроме того, конечно, этот метод упрощает получение хорошего набора цветов ... так как Hue начинается с 0-359, вы можете сделать что-то вроде установки Hue примерно так:
Hue = (PreviousHue + 50) % 360;
(Я выбрал 50, поскольку он не входит в 360 равномерно, поэтому, если вы превысите 360, вы не начнете повторять оттенки сразу. Вам нужно будет поиграться со значением, чтобы получить идеальное разделение в зависимости от того, как много разных цветов вы ожидаете.)
Таким образом, вам не нужно беспокоиться о случае, когда код случайным образом выбирает два цвета, которые очень близки друг к другу, когда еще остается много неиспользованного пространства "оттенка".