Точечный продукт и яркость / Findmyicone
Все,
У меня есть основной вопрос, с которым я борюсь здесь. Когда вы посмотрите на пример кода findmyicone из WWDC 2010, вы увидите следующее:
static const uint8_t orangeColor[] = {255, 127, 0};
uint8_t referenceColor[3];
// Remove luminance
static inline void normalize( const uint8_t colorIn[], uint8_t colorOut[] ) {
// Dot product
int sum = 0;
for (int i = 0; i < 3; i++)
sum += colorIn[i] / 3;
for (int j = 0; j < 3; j++)
colorOut[j] = (float) ((colorIn[j] / (float) sum) * 255);
}
И тогда это называется:
normalize(orangeColor, referenceColor);
Запустив отладчик, он преобразует BGRA: (красный 255, зеленый 127, синий 0) в (красный 0, зеленый 255, синий 0). Я искал в Интернете и ТАК, чтобы найти детали о яркости и точечном продукте, и там действительно нет информации.
1- Может ли кто-нибудь подсказать мне, что делает эта функция?
2- Можете ли вы привести меня к некоторым полезным темам / учебнику для начинающих онлайн?
еще раз спасибо КМБ