Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11656
Последний выпуск: 19.06.2015

Компьютерная Графика


  • 1 шаг) Рассмотрим точку внутри куба.
  • 2 шаг) Рассмотрим вектор (0,0,0) – (R,G,B). Какие грани будет пересекать этот вектор?

Если R = max R соответствующая прямая пересечет грань куба [-1,0,0,1] = [ERDW].

  • Если G = max G: [0,1,0,1] = [FWDG].
  • Если B = max B: [0,0,-1,1] = [BEWF].

Рассмотрим вектор (1,1,1) – (R,G,B).

R = min R: [-1,0,0,0] = (OBFG).
G = min G: [0,-1,0,0] = (OREB).
B = min B: [0,0,1,0] = (ORDG).

Рассмотрим уравнение плоскости

Ax + By + Cz + D = 0

Уравнение линии, проходящей через точки

Запишем в параметрическом виде.

Пусть линия пересекает плоскость в точке

Тогда условие пересечения имеет вид:

  (1)

Отсюда выражаем k:

  (2)

AB – вектор цвета. AC – вектор цвета, продолженный до пересечения с гранью. Тогда яркость равна:

Исходя из системы (1), это будет равно:

Исходя из (2) и учитывая, что

Можно записать, что

Bv – значение компоненты B.

B – коэффициент в уравнение плоскости.

Если R = max(R,G,Bv), то k = -1/-R = 1/R.
Если G = max(R,G,Bv), то k = |-1/G| = 1/G.
Если Bv = max(R,G,Bv), то k = -1/-Bv = 1/Bv.

Отсюда следует, что значение яркости можно записать: Brightness = 1/k = max(R,G,Bv) принадлежит интервалу [0, 1],

если в процентах, то умножить на 100. Теперь ищем насыщенность (Saturation).

Saturation (по определению) – это расстояние от точки серого до заданной (RGB), делённое на расстояние от точки серого до точки пересечения плоскости и вектора от точки серого до (R,G,B).


Точка серого – это расстояние на главной диагонали от 0 до значения яркости.

Точка M пересекает плоскости куба и прямой P1P2.

Таким образом, учитывая предыдущие формулы, найдем, что Saturation = 1/k.

k имеет следующие значение:


При R = min(R,G,Bv) => k = Br / Br – R
При G = min(R,G,Bv) => k = Br / Br - G
При Bv = min(R,G,Bv) => k = Br / Br – Bv

Таким образом

Насыщенность равна:


Предыдущий раздел | Предыдущая тема | Следующая тема | Следующий раздел

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
Аноним
Мне нравитсяМне не нравится
11 ноября 2004, 13:50:52
Спасибо за информацию!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог