алгоритм — Отображение равностороннего диапазона в асимметричный диапазон (От оттенка до YIQ) в переполнении стека

Мне нужна функция для сопоставления диапазона с 3 сегментами одинакового размера с диапазоном с сегментами неравного размера. Как показано в таблице ниже:

      (Red is all one range)
/--------------------------------\
| Color | Hue Range | YIQ Range  |
|=======|===========|============|
| Red   | 0 - 59    | 0 - 149    |
| Red   | 300 - 359 | 851 - 1000 |
| Green | 60 - 179  | 150 - 736  |
| Blue  | 180 - 299 | 737 - 850  |
\--------------------------------/

Общая цель — преобразовать оттенок в диапазон YIQ.

0

Решение

Если отображение линейный, тогда формула для каждого диапазона довольно проста

 Determine what range given value H belongs to
Get HueMIn, HueMax, YMin, YMax for this range
Y = YMin + (H - HueMin) * (YMax - Ymin) / (HueMax - HueMin)

например, значение H = 100 находится в третьем диапазоне,

 Y = 150 + (100 - 60) * (736 - 150) / (179 - 60) = 347
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]