Я ищу режим смешивания, который дает "реалистичные" цвета краски. (Субтрактивный)

Я искал режим смешивания, чтобы (хорошо...) смешивать два RGB-пикселя, чтобы создавать цвета таким же образом, как их создает художник (т. Е. Вычитать).

Вот краткие примеры ожидаемых результатов:

CYAN + MAGENTA = СИНИЙ
ЦИАН + ЖЕЛТЫЙ = ЗЕЛЕНЫЙ
МАГЕНТА + ЖЕЛТЫЙ = КРАСНЫЙ
КРАСНЫЙ + ЖЕЛТЫЙ = ОРАНЖЕВЫЙ
КРАСНЫЙ + СИНИЙ = ФИОЛЕТОВЫЙ
ЖЕЛТЫЙ + СИНИЙ = ЗЕЛЕНЫЙ

Я ищу формулу, например: dest_red = first_red + second_red; dest_green = first_green + second_green; dest_blue = first_blue + second_blue;

Я пробовал с обычно используемой формулой умножения, но она не работает; Я пробовал использовать формулы по индивидуальному заказу, но я все еще не могу "взломать", как это должно работать. И я уже знаю много теории цвета, поэтому, пожалуйста, воздержитесь от таких ответов, как:

Проверьте эту ссылку: http: //the_difference_betweeen_additive_and_subtractive_lighting.html

Примечание. Убедитесь, что метод смешивания работает с ЖЕЛТЫМ + СИНИМ = ЗЕЛЕНЫМ и ЖЕЛТЫМ + КРАСНЫМ = ОРАНЖЕВЫМ

2 ответа

Цветовое пространство CMY, которое обращается к этому виду субтрактивного смешивания, является в основном инвертированным RGB-пространством. Вы можете добавить цвета в пространстве CMY и преобразовать их обратно в RGB.

CYAN (100 CMY) + MAGENTA (010 CMY) = (110 CMY) = (001 RGB) = BLUE
CYAN (100 CMY) + YELLOW (001 CMY) = (101 CMY) = (010 RGB) = GREEN
...
RED (100 RGB) + YELLOW (001 CMY) = (011 CMY) + (001 CMY) = (012 CMY) => (0 0.5 1 CMY) = (1 0.5 0 RGB) = ORANGE
RED (011 CMY) + BLUE (110 CMY) = (121 CMY) => (0.5 1 0.5 CMY) = (0.5 0 0.5 RGB) = PURPLE

Как видите, вы должны нормализовать цвет, если есть компоненты со значениями больше 1.


Я только что понял, что последнее дополнение (ЖЕЛТЫЙ + СИНИЙ) не работает с этой моделью. Я оставляю ответ здесь, хотя. Может быть, это может помочь вам. Это, вероятно, потому что ваши примеры могут содержать несоответствие. Если CYAN+YELLOW=GREEN, очень маловероятно, что тот же самый GREEN может быть создан с BLUE+YELLOW.

Я сомневаюсь, что есть один лучший ответ на этот вопрос. Если вам нужно только субстративное цветовое пространство, CMY (K) может быть достаточно. Однако, если вы хотите создать что-то похожее на ArtRage, а не на чистый Photoshop, реализация собственных кривых смешивания необходима для реалистичных эффектов.

Другие вопросы по тегам