Cum se punctează o încercare

Fiecare încercare în Color Hunch se punctează după cât de departe stă culoarea ta de cea reală — nu în cursoarele pe care le-ai mișcat, ci în cât de diferite par cele două unui ochi omenesc. Măsura este CIEDE2000, iar pagina asta explică ce înseamnă și de ce contează distincția.

Contează pentru că alternativa evidentă greșește într-un fel pe care jucătorii îl simt.

De ce distanța cursorului e măsura greșită

Modul ușor de a puncta o încercare este să compari pozițiile cursoarelor: cât de departe e nuanța ta de cea țintă, saturația ta de a ei. E o linie de cod și dă un joc în care oamenii încetează tăcut să aibă încredere.

Motivul: mișcări egale ale unui cursor nu sunt schimbări egale pentru ochi. Zece grade de nuanță țipă în verzuri și sunt aproape invizibile în albastrurile adânci. Mișcă luminozitatea puțin într-o culoare deschisă și o vede toată lumea; mișc-o la fel într-una închisă și aproape nimeni. Punctarea după distanța cursorului te pedepsește că te apropii dintr-o parte greșită a unei nuanțe și răsplătește un rezultat care se vede clar greșit.

Ce este de fapt o diferență de culoare

Diferența de culoare se măsoară așezând ambele culori într-un spațiu construit astfel încât distanța din el să corespundă diferenței pentru ochi, apoi măsurând distanța dintre ele. Numărul acela se numește ΔE — delta E, unde E vine de la Empfindung, «senzație» în germană.

Prima formulă de acest fel, CIE76, era o linie dreaptă între două puncte în spațiul Lab. A fost un progres real și avea slăbiciuni cunoscute: exagera diferențele în culorile saturate și le subestima în albastruri. CIEDE2000 este corecția, adăugând termeni de ponderare pentru luminozitate, cromă și nuanță, plus un termen de interacțiune pentru zona albastră, unde formula mai veche se descurca cel mai prost.

Ce face Color Hunch cu ea

Când trimiți o încercare, culoarea pe care ai reglat-o și cea care se cuvine acolo sunt convertite din sRGB în Lab, iar CIEDE2000 dă distanța dintre ele. Distanța devine punctajul rundei, iar stelele nivelului vin din punctajele rundelor lui.

Numărul pe care îl vezi e un procent de apropiere, nu ΔE în sine. E o alegere deliberată: un ΔE de 4,2 nu îți spune nimic pe care să acționezi, în timp ce «Apropiere 87» spune același lucru într-o formă comparabilă cu încercarea anterioară. ΔE rămâne unde îi e locul — în punctare.

De ce peste tot rulează aceeași formulă

Aplicația, serverul jocului și acest site punctează cu aceeași implementare, verificată față de aceleași valori de referință. O încercare care dă 87 în browser dă 87 în aplicație.

Sună evident și se strică ușor: trei baze de cod în trei limbaje se depărtează dacă nimic nu le ține împreună. Aici asta e un test cu perechi de intrare fixe și ieșiri așteptate — dacă un port se abate de la referință, build-ul cade în loc ca clasamentul să devină tăcut fără sens.

Ce înseamnă valorile ΔE

Ca ghid aproximativ, așa arată o anumită diferență de culoare pentru cineva cu vedere normală a culorilor, la lumină decentă:

ΔECe ai observa
Sub 1Nu se distinge cu ochiul. Ambele se citesc ca aceeași culoare.
1 până la 2Vizibilă unui ochi antrenat privind de aproape, de obicei alăturate.
2 până la 10Sesizabilă dintr-o privire. Cei mai mulți ar spune două nuanțe ale aceleiași culori.
11 până la 49Culori clar diferite, dar înrudite — un roșu și un roșu ușor portocaliu.
50 și pesteCulori complet diferite. Nimeni nu le-ar confunda.

Aceste intervale sunt o convenție, nu o specificație: așa vorbește domeniul despre aceste numere, iar sursele diferite trag limitele puțin altfel. Ia-le ca mod de a citi un punctaj, nu ca standard.

CIEDE2000 este definită de CIE (Commission Internationale de l'Éclairage) în CIE 142-2001. Implementarea de aici urmează Sharma, Wu și Dalal (2005), «The CIEDE2000 Color-Difference Formula» — articolul față de care se verifică majoritatea implementărilor și care documentează datele de test folosite.

Ghicește CuloareaCum se joacă