Из чего сделана радуга?

Разумеется, я не буду рассказывать о дожде и преломлении света, я расскажу только о том, каким образом математически можно определить радугу и как ее реализовать программно.

Во первых, все, кто работал с компьютерной графикой знают что представляет из себя цвет для компьютера. Рассмотрим самую распространенную цветовую схему - RGB, которая названа так не спроста, а по названиям ключевых цветов монитора, которые, смешиваясь, образуют абсолютно любые цвета. Теоретически, ключевыми цветами могут быть любые, но в схеме RGB, как и понятно по названию используются цвета красный (Red), зеленый (Green), синий (Blue). На этом изображении показано как они смешиваются друг с другом, если каждый из них это окрашенный источник света (такими источниками являются пиксели монитора).

rgb

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

Да, из физики мы помним, что красный-оранжевый-желтый-зеленый-голубой-синий-фиолетовый - это описание человеческих зрительных ощущений от различных длин электромагнитных волн, поэтому смешение цветов вполне логично дает различные другие оттенки. Еще раз посмотрим на картинку и попробуем понять, где же здесь радуга? Допустим (так как компьютерный байт может принимать 256 различных значений от 0 до 255), что интенсивность каждого ключевого цвета - это число в промежутке от 0 до 255. Допустим, что любой цвет может быть представлен тройкой цветов - (красный,зеленый,синий). Таким образом наша радуга:

  • Красный (255,0,0)
  • Желтый (255,255,0)
  • Зеленый (0,255,0)
  • Голубой (0,255,255)
  • Синий (0,0,255)
  • Фиолетовый (255,0,255)

 Мы получили 6 цветов. Но как так? В радуге ведь их 7! Куда делся оранжевый? Ответ прост. В радуге бесконечное количество оттенков, которые могут быть представлены этими тремя ключевыми цветами, поэтому будет справедливо заявить как то, что в радуге 3 цвета или 333 цвета, оба утверждения будут верны. А 7 цветов были придуманы только потому, что эти цвета наиболее устойчиво воспринимаются и определяются глазом и мы их можем назвать и вспомнить поговорками типа "Каждый Охотник Желает Знать Где Сидит Фазан".

Теперь давайте проанализируем, как из полученных троек чисел мы можем построить алгоритм вычисления любого промежуточного цвета радуги. Разобьем алгоритм на несколько этапов:

  1. Примем за начальную точку отсчета красный цвет (255,0,0)
  2. Будем постепенно увеличивать значение зеленого цвета, пока не достигнем значения (255,255,0), что соответствует желтому цвету.
  3. Постепенно уменьшим значение красной составляющей до значения (0,255,0), что соответствует зеленому цвету на экране монитора.
  4. Постепенно увеличим значение синей составляющей до значения (0,255,255), что соответствует голубому цвету.
  5. Постепенно уменьшим количество зеленого цвета до значения (0,0,255), что соответствует синему цвету.
  6. И последний шаг - увеличим количество красного до значения (255,0,255), что соответствет фиолетовому цвету.

Таким образом, в несколько простых шагов мы можем получить все цвета радуги. Любые другие комбинации цветов будут давать только более светлые или более темные тона этих цветов, поэтому, чтобы изменить оттенок, можем увеличить нижний предел (0) и/или уменьшить верхний (255) для достижения нужного эффекта.

А если же вы просто хотите сделать текст радужного цвета, то используйте линейки для форумов на этом сайте и вы получите отличный результат, например такой:

Линейки для форумов, блогов, в подпись на flines.ru

Читайте также:

Как сделать такие же линейки у себя на сайте?