Основна мета кольорової моделі RGB (червоний зелений синій) полягає в зондуванні, представленні та відображенні зображень в електронних системах, таких як телевізори та комп'ютери
HSL (Hue Saturation Lightness) - альтернативна кольорова модель, розроблена в 1970-х роками дослідниками комп'ютерної графіки для більш тісного узгодження з тим, як людський зір сприймає кольорові атрибути
Ось статті із вікі для RGB та HSL . Для графічних програм звичайно робити обчислення в HSL, а пізніше конвертувати у бажаний формат для більшості екранів: RGB.
Завдання полягає в тому, щоб написати функцію / програму, яка приймає HSL як вхід і виводить RGB.
Ви можете вибрати бажане подання для вводу / виводу, якщо воно відповідає їм.
Наприклад, вони можуть бути масивом / кортежем з 3 елементами або об'єктом з 3 властивостями, названими h
, s
і l
, але я прийму інші розумні варіанти, як-от отримання hsl як цілого числа (втрачає точність) та виведення цілого числа rgb.
Вхід може вважатися безпечним у діапазоні та форматі, обидва ви можете вирішити. Я настійно пропоную або діапазони, 0-1 0-1 0-1
або 0-360 0-100 0-100
для hsl, 0-1 0-1 0-1
або 0-255 0-255 0-255
для rgb.
Кожну відповідь потрібно вказати на обидва вищезгадані, і вкладайте різні варіанти у свої відповіді, якщо ви особливо пишаєтесь ними, навіть якщо вони не мають менше символів, ніж ваші інші варіанти. Зверху покладіть найменший.
Псевдопроби для 0-360 0-100 0-100
→0-255 0-255 0-255
h s l → r g b
0 0 0 → 0 0 0
90 56 17 → 43 68 19
202 19 39 → 81 104 118
72 55 26 → 88 103 30
Формули для конверсії можна знайти тут :
Це як хороший спосіб візуалізації конверсії:
a-b
позначень неправильно саме по собі при роботі з цілими значеннями, але я б сказав, що це нормально, щоб питання було більш зрозумілим. Якщо хтось скаржиться, я переосмислю його, тому дякую, що вказав на це
[0,360)
тоді :)
H
від0-360
це[0,360)
, було б краще , як написано0-359
?