Ответ 1

Взяв изображение, с которым вы ссылаетесь, как ссылку на то, что является "теплым" и "холодным", мы получаем следующее.

Colour wheel

  • Самый горячий цвет полностью красный (R = 255, G = 0, B = 0).
  • Самый холодный цвет полностью синий (R = 0, G = 0, B = 255).

Итак, чем больше R у вас есть, тем теплее цвет, и чем больше у вас есть, тем кулер цвет. G берет вас сквозь оттенки бирюзового, зеленого и желтого цветов, каждый из которых становится все теплее. Когда G равно нулю, вы перемещаетесь в нижней левой диагонали круга при изменении R и B. Когда G приближается к 255, вы пересекаете верхнюю правую диагональ при изменении R и B.

Однако прилегающие теплые и прохладные цвета имеют в них различное количество зеленого цвета. Красный сразу под диагональной линией имеет менее зеленый цвет, чем красный, расположенный над ним. Синий непосредственно под диагональной линией имеет менее зеленый цвет, чем синий, расположенный над ним. Это цветовое колесо выглядит так, что оно не представляет собой пространство RGB, особенно хорошо в синем конце спектра.

В конечном итоге то, что вы воспринимаете как теплое и холодное, зависит от настроек вашего монитора и условий освещения. Многое - это ваше восприятие и познание - то, что вы считаете теплым или холодным. В изображении цветовые контрасты повлияют на ваше мнение. "Между прочим" цвет рядом с ярко-прохладным цветом будет выглядеть теплым, но если тот же цвет близок к ярко-теплым цветам, он будет выглядеть круто. Посмотрите на это цветное колесо:

colourwheel

Здесь показан каждый 24-битный цвет (8 бит для каждого из R, G и B), а также показаны значения RGB для верхнего, правого, нижнего и левого цветов. На мой взгляд, есть более "прохладные" цвета, чем "теплые". Надеюсь, это поможет вам решить, какие значения RGB для того, что вы воспринимаете как прохладные и теплые цвета.

Бонус: На изображении выше вы также можете увидеть цвета, выраженные в цветовой модели оттенка, насыщенности и значения (HSV). Хюэ в основном кодирует цвет. Насыщенность кодирует, как "полный" цвет - меньшая насыщенность делает его более "мрачным", т.е. белый. Значение кодирует, как оно темное - меньшее значение делает его более черным, а также делает серое насыщение белым насыщения. Оттенок от 0 до 360 и соответствует углу круга, при этом 0 полностью красный, 90 - своего рода неоновый зеленый, 180 - ярко-синий, 270 - голубовато-фиолетовый, а 360 снова возвращается к красному. S и V идут от 0 до 100 и будут влиять на точный оттенок - эти примеры с S = V = 100.

На мой взгляд, значения H в диапазонах 0-80 и 330-360 являются теплыми, а H > 80 и H = 330 являются холодными (приблизительно).

Вы можете открыть селектор цветов в своей любимой программе рисования. Обычно они могут показывать HSV и RGB бок о бок и позволяют играть с цветовым колесом и видеть эффекты на номера HSV и RGB. Если у вас его еще нет, я бы предложил GIMP. У этого есть цветовое колесо, которое я использовал, чтобы получить номера для этого ответа.

Бонус 2: Все вышеперечисленное предполагает субъективную оценку того, что тепло и что круто. Я думаю, что единственный способ сделать объективное измерение цветовой температуры - измерить ее и выразить ее по температурной шкале. Часто Кельвин, кажется, используется. Эта мера учитывает не только оттенок цвета, но и его яркость (или сколько света он излучает) тоже. Если у вас есть современный монитор, у него, вероятно, есть настройка температуры с некоторыми значениями Кельвина на выбор. Можно рассчитать температуру каждого цвета RGB на вашем дисплее, если вы знаете температуру белого (баланс белого). Однако этот расчет очень сложный, и я не знаю, как это сделать. Вы можете найти Брюс Линдблум, хороший источник для получения дополнительной информации или любую книгу о цветовой науке. Но я думаю, что это больше, чем вы договорились с вашим вопросом...; -)

Ответ 2

Мне нравится

if (B>R) { 
    color=cool
} else { 
    color=warm
}

- довольно хорошее приближение. Вы можете проверить это на цветном колесе, используя: http://www.colorzilla.com/firefox/

Ответ 3

уже ответил, но нужно добавить следующее:

Если вас интересуют физическая температура и цветовые зависимости, то это масштаб, который вы ищете:

Black body Temperature color

Это цвет света, излучаемого от черного тела с заданной температурой. В астрономии это используется для классификации звездного цвета (например, цветовой индекс BV).

Он также может использоваться для косвенных измерений температуры.