Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2013, 23:44   #1
HelalynFlowers
 
Регистрация: 13.05.2013
Сообщений: 3
По умолчанию заливка по Гуро, интенсивность и цвет

Товарищи, есть такая проблема: имеются грань и рассчитанные интенсивности в вершинах грани. Допустим, при интерполяции в какой-то точке получилась интенсивность I, при этом цвет заливки пусть будет (R,G,B). Как я понимаю, что при I<1 цвет уходит в чёрный, при =1 - сохраняется, а при >1 - уходит в белый (если интенсивность вообще возможна >1), но, похоже, оно всё несколько по-другому. Так вот, каким образом для точки, зная I и заданный цвет, получить конкретные значения r,g,b?
HelalynFlowers вне форума Ответить с цитированием
Старый 15.05.2013, 08:06   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Читайте про билинейную интерполяцию.
Каждая компонента цвета вычисляется независимо (веса общие).
s-andriano вне форума Ответить с цитированием
Старый 15.05.2013, 20:43   #3
HelalynFlowers
 
Регистрация: 13.05.2013
Сообщений: 3
По умолчанию

Про билинейную интерполяцию почитал, но всё равно не совсем понимаю, как находить цвет. Поэтому, прошу показать на конкретном примере: пусть задан цвет закраски (100, 255, 50). Какие результирующие цвета получатся при интенсивности, например, 0,4 и при интенсивности, например, 10?
HelalynFlowers вне форума Ответить с цитированием
Старый 15.05.2013, 22:31   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Вообще говоря, то, что Вы называете интенсивностью, к закраске Гуро никакого отношения не имеет.

На прямой вопрос - прямой ответ:
0.4: (40, 102, 20)
10: (255, 255, 255)
s-andriano вне форума Ответить с цитированием
Старый 15.05.2013, 23:07   #5
HelalynFlowers
 
Регистрация: 13.05.2013
Сообщений: 3
По умолчанию

Хмм, а как тогда называется то, что я называю "интенсивностью освещения"?

На прямой ответ:
Допустим, дан цвет (255, 0, 0). При I=0 он станет чёрным (0,0,0), при =1 останется таким же, а при >1 опять же останется таким же, хотя, по логике, при больших значениях I цвет должен стремиться к белому, но в таком случае простое умножение никогда из (255, 0, 0) не сделает (255, 255, 255)
HelalynFlowers вне форума Ответить с цитированием
Старый 16.05.2013, 13:38   #6
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от HelalynFlowers Посмотреть сообщение
Хмм, а как тогда называется то, что я называю "интенсивностью освещения"?
"Молоко" с "птичье молоко" - совершенно разные продукты.
Цитата:
На прямой ответ:
Допустим, дан цвет (255, 0, 0). При I=0 он станет чёрным (0,0,0), при =1 останется таким же, а при >1 опять же останется таким же, хотя, по логике, при больших значениях I цвет должен стремиться к белому, но в таком случае простое умножение никогда из (255, 0, 0) не сделает (255, 255, 255)
Давайте разберемся, с какой именно логикой мы имеем дело.
Во-первых, э-м излучение оптического диапазона характеризуется спектром, т.е. непрерывной функцией, а не тремя числами.
Но в человеческом глазе 3 типа цветочувствительных элементов, поэтому существует упрощенная модель представления цвета в виде трех составляющих.
Во-вторых, цветочувствительные элементы человеческого глаза имеют конечную добротность и, следовательно, достаточно широкую полосу пропускания. Поэтому если интенсивность, скажем, синего цвета будет достаточно высока, то на него будут реагировать и "зеленые" колбочки.
В третьих, мы рассматриваем линеаризованную модель цветовосприятия. В реальности все зависимости являются нелинейными.
В четвертых, на практике не встречаются источники света с отрицательной интенсивностью, хотя модели это не противоречит.

Так что, если хотите использовать более точную модель - используйте.
А если используете эту, не следует забывать, что она имеет вполне ограниченную область применимости.
s-andriano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменять контраст/интенсивность Timage? eldalex Мультимедиа в Delphi 10 23.06.2016 18:22
метод Гуро, Фонга михончик Помощь студентам 4 28.05.2012 06:17
Заливка Гуро Alenkakiss C++ Builder 1 07.03.2010 12:48
Каким образом можно изменять цвет фона и цвет шрифта в Label? jungle Win Api 17 21.09.2009 00:38
Как с помощью JavaScript изменить цвет фона ячеек в таблице,так что бы можно было выбрать цвет из списка Gotessa JavaScript, Ajax 1 09.05.2009 16:05