С векторами понятно что и как - перпендикулярный вектор даёт в качестве результата, а это мне даже в уме представить сложно, не догоняю. Можете объяснить или если можно - визуально?
Target
> С векторами понятно что и как - перпендикулярный вектор даёт в качестве
> результата
Ты видимо путаешь dot и cross. dot возвращает не вектор, а число.
Почитай про скалярное (dot) и векторное (cross) произведение в википедии.
Target
> а это мне даже в уме представить сложно, не догоняю. Можете объяснить или если
> можно - визуально?
А зачем это представлять визуально? Это просто функция, которая принимает значения и возвращает результат, исходя из них.
BooTheJudge
Да сорри, попутал. Dot возвращает от -1 до 1 если не запамятовал. Для определения угла вроде бы. А cross уже перпендикуляр возвращает. Но мне мало знать что оно просто возвращает значение. Толку от такого знания. Хочется разобраться в логике.
Target
> Dot возвращает от -1 до 1 если не запамятовал.
для нормализованных векторов.
Target
> Для определения угла вроде бы
Косинуса угла (опять же только в случае нормализованных)
Логика в том, что чем больше скалярное произведение, тем сильнее совпадают направления векторов. Цвет - это тоже по сути вектор, только проведённый в пространстве, где каждой оси соответствует один из базовых цветов. В остальном логика та же.
В данном случае ты привёл формулу расчёта относительной яркости. Она соответствует тому, как человеческое зрение воспринимает яркость. Путём скалярного произведения мы ставим каждой компоненте цвета определённый коэффициент. У зелёного самый большой коэффициент(0.7151522), потому что он сильнее всего отвечает за яркость в человеческом восприятии. А синий - слабее всего, у него маленький коэффициент.
Чтобы было понятнее, можно переписать это так:
float luminance = color.r*0.2126729 + color.g* 0.7151522 + color.b* 0.072175;
Это абсолютно то же самое по результату, но несколько хуже выглядит.
PS:Ещё вариант с dot будет быстрее, поскольку это одна инструкция для видеокарты, а не несколько.
А, теперь понятно, спасибо)
Тема в архиве.