Як оцінюється спроба
Кожна спроба в Color Hunch оцінюється за тим, наскільки ваш колір віддалений від справжнього — не в повзунках, які ви рухали, а в тому, наскільки різними ці два кольори здаються людському оку. Міра — CIEDE2000, і ця сторінка пояснює, що це означає і чому різниця важлива.
Вона важлива, бо очевидна альтернатива помиляється так, що гравець це відчуває.
Чому відстань повзунка — хибна міра
Простий спосіб оцінити спробу — порівняти положення повзунків: наскільки ваш тон віддалений від цільового, ваша насиченість від його. Це один рядок коду, і він дає гру, якій люди мовчки перестають довіряти.
Причина в тому, що однакові рухи повзунка — не однакові зміни для ока. Десять градусів тону кричать у зелених і майже непомітні в глибоких синіх. Зсуньте світлоту трохи у світлому кольорі — побачать усі; зсуньте так само у темному — майже ніхто. Оцінка за відстанню повзунка карає за підхід не з того боку тону й винагороджує влучання, яке явно виглядає хибним.
Що насправді таке різниця кольорів
Різницю кольорів вимірюють, помістивши обидва кольори у простір, побудований так, щоб відстань у ньому відповідала різниці для ока, а потім вимірявши відрізок між ними. Це число називають ΔE — дельта E, де E від Empfindung, німецькою «відчуття».
Перша така формула, CIE76, була прямою між двома точками у просторі Lab. Вона була справжнім кроком уперед і мала відомі слабкості: перебільшувала відмінності в насичених кольорах і занижувала їх у синіх. CIEDE2000 — це виправлення: додано вагові члени для світлоти, кольоровості й тону, плюс член взаємодії для синьої області, де попередня формула працювала найгірше.
Що з цим робить Color Hunch
Коли ви надсилаєте спробу, дібраний вами колір і колір, який має там бути, переводяться з sRGB у Lab, і CIEDE2000 дає відстань між ними. Ця відстань стає очками раунду, а зірки рівня складаються з очок його раундів.
Число, яке ви бачите, — відсоток близькості, а не сам ΔE. Це свідомий вибір: ΔE 4,2 не говорить вам нічого, на що можна спертися, тоді як «Близькість 87» каже те саме у вигляді, який можна порівняти з попередньою спробою. ΔE лишається там, де йому місце — у підрахунку.
Чому одна й та сама формула працює всюди
Застосунок, ігровий сервер і цей сайт рахують однією реалізацією, звіреною за тими самими еталонними значеннями. Спроба, що дає 87 у браузері, дає 87 у застосунку.
Звучить очевидно й легко ламається: три кодові бази трьома мовами розходяться, якщо їх ніщо не тримає разом. Тут це тест із фіксованими парами входів і очікуваними виходами — якщо порт розходиться з еталоном, падає збірка, а не таблиця лідерів тихо втрачає сенс.
Що означають значення ΔE
Як грубий орієнтир — так виглядає задана різниця кольорів для людини з нормальним кольоровим зором за пристойного світла:
| ΔE | Що ви б помітили |
|---|---|
| Менше 1 | Оком не розрізнити. Обидва читаються як той самий колір. |
| Від 1 до 2 | Видно натренованому оку при близькому розгляді, зазвичай поруч. |
| Від 2 до 10 | Помітно з першого погляду. Більшість назве це двома відтінками одного кольору. |
| Від 11 до 49 | Явно різні, але споріднені кольори — червоний і трохи помаранчевий червоний. |
| 50 і вище | Цілком різні кольори. Ніхто б їх не сплутав. |
Ці діапазони — домовленість, а не специфікація: так про числа говорять у галузі, і різні джерела проводять межі трохи інакше. Вважайте їх способом читати оцінку, а не стандартом.
CIEDE2000 визначено CIE (Commission Internationale de l'Éclairage) у CIE 142-2001. Реалізація тут слідує праці Sharma, Wu і Dalal (2005) «The CIEDE2000 Color-Difference Formula» — статті, за якою звіряють більшість реалізацій і в якій описано використані для звірки тестові дані.