Stap 1: HSV of niet HSV
De belangrijkste verdienste van de HSV is het samenbrengen van twee werelden van kleur: het lichtgevende een (RGB) en de licht-reflecterende een (CMYK). Deze werelden zijn zeer verschillend: bijvoorbeeld, mengen van rood en groen op het scherm resulteert in zuiver geel, maar probeer mengen ze op papier en u krijgt een vieze vlek. HSV is dus vrij nuttig voor grafisch ontwerpers-ze kunnen doen alles in een model en worden redelijk zeker van dat het resultaat hetzelfde op het scherm en op papier uitzien zal. Echter, net als bij alle andere universele oplossingen, enkele beperkingen worden opgelegd, dus mensen die uitsluitend met gedrukte ontwerpen werken moeten vertrouwen op CMYK-kleuren en mensen omgaan met LEDs zijn beter af met het RGB-model. Het gewoon veel beter geschikt voor lichtgevende bronnen!
Laat me een beetje dieper in deze. HSV staat voor kleurtoon, verzadiging en waarde (of de helderheid). Hue is een cirkel, waarden van 0 tot 360 heeft. Verzadiging en waarde worden gemeten in procenten (0 tot 100). Niet echt geschikt voor een wereld van bytes... En wat meer is, twee van deze waarden zijn bijna nutteloos omgang met LEDs, omdat ze zijn gemaakt voor complexe hi-res ontwerpen, niet enkele pixels (aka RGB LED's).
Verzadiging kan worden gebruikt voor de productie van zachte, pastel kleuren, zonder de complexe berekeningen die nodig zijn met het RGB-model. Maar met LEDs niet gewenste pastel kleuren (ze kijken net als verschillende tinten van wit, in feite): u moet uw kleuren zo helder en duidelijk mogelijk te zijn, dus verzadiging op 100% bijna de hele tijd is (met uitzondering van de animatie/transformation momenten, maar ze zijn gedaan met algoritmen, meer daarover later).
Met helderheid kunt u sommige donkere kleuren op het scherm bereiken. Lagere helderheid in rood (H = 0) en u krijg van Bourgondië, lagere helderheid in oranje (H = 40) en krijg bruin. Hetzelfde met LEDs en je krijgt dezelfde rode en gele kleuren, gewoon een beetje dimmer; Er bestaat geen als een 'bruine LED'. Ziet u diep donker rood op het scherm omdat er verschillende kleuren aanwezig zijn proberen om het te vullen met donkerrood geheel, alle de lichten uit te schakelen en je ziet een rode rechthoek; u zal niet zitten kundig voor zeggen of het 'Bourgogne' of 'scarlet' als gevolg van de afwezigheid van een verwijzing. Zelfde met LEDs: zelfs als u een bos van hen hebt, ze staan nog los. Het gebruik van waarde in HSV model met RGB-LEDs is dus beperkt tot globale instelling helderheid, fadeouts en overgangen; Dit alles kan gemakkelijk worden gedaan in RGB door eenvoudige gelijktijdige divisie toegepast op elk kanaal.
Een ander ding dat HSV waarde/helderheid nutteloos met LEDs maakt is het feit dat dioden, anders dan computerschermen, zijn niet gekalibreerd, en traag; hun helderheid is niet lineair. Bij 50% kijken ze bijna hetzelfde als 100%, die, in feite zeer goed, omdat het helpt controle stroomverbruik.
Die laat ons met Hue: een mooie cirkel met alle kleuren van een regenboog in een nette 0-360 ° reeks. Lijkt alsof het produceren van een regenboog met het is het gemakkelijkst denkbaar: de eenvoudige voor (int k = 0; k < 360; k ++) cyclus zal doen de truc. Wat kan mis mee zijn?
Zie de foto met normale HSV bovenstaande grafiek. Zoals het model werd gemaakt om elke mogelijke kleur bevatten, hij acht gele (HSV = 60, 100, 100) hebben zowel rood en groen van het RGB-model bij maximum (255, 255, 0). Met RGB LED betekent dat zowel rode als groene diodes zijn volledig op. Wat betekent dat alle samengestelde kleuren (cyaan, geel, magenta) twee maal meer stroom dan een base een (rood, groen, blauw verbruikt). Niet goed, vooral als je te hebt met lange LED strips of een matrix van RGB-LED's aangedreven door USB maken. De tweede grafiek ('Power-bewuste HSV') ziet er beter uit, maar het is niet de pure tint van HSV, en gemakkelijker met RGB-model wordt geïmplementeerd.
De derde grafiek toont een sinusgolf regenboog. Naar mijn mening is de beste, omdat het produceert diepere basiskleuren en verstoken van pieken is. En het kan alleen in het RGB-model worden uitgevoerd. Naar de volgende stap.