Konvertálja a hsv-t az rgb-be, az embedder életét

Mindent ezzel a mixel kezdett:

Hallgattam rá, rájöttem, hogy új vezérlőre van szükségem az RGB-LED szalaghoz. Ezek a dolgok, ha valaki emlékszik rám delalalis de becsületes átalakítás HSV -> RGB nem volt ott -, hanem egy egyszerű felsorolás színek árnyalatjele. Most rájöttem, hogy feltétlenül szükségem van a három összetevő becsületes átalakítására. 🙂

Elmentem a Google-ba, és nem mondtam, hogy a keresésem teljesen haszontalan volt - mindkét képletet és számos implementációt találtam. A probléma csak az volt, hogy mind a képleteket, mind a megvalósításokat lebegőpontra tervezték, és én persze egész számtani aritmetikai érdeklődést kértem. Teljes számok megvalósítása, amelyeket rendeznék, soha nem találtam.

Általában, ha valami jól akarsz csinálni - csináld magad. Először a képletet akartam átalakítani. hozzátéve megfelelő skálázási tényező azonban meggyötört egy ideig, én köpni ezt a tevékenységet, és egyszerűen átírja az eredeti képlet valós fix pont.

Az alábbiakban találhatók a listák hsv2rgb.h és hsv2rgb.c - túl lusta vagyok letölteni az archívummal.

A modul tartalmaz egy egész számot (egy fix ponttal) és egy lebegőpontos végrehajtást. Ezek összeállítását függetlenül tartalmazza a megfelelő meghatározások. A bónusz valójában egy fix ponttal végzett műveletek végrehajtása.

Az fp_HSV2RGB (...) lebegőpontos végrehajtás.

Az fxp_HSV2RGB (...) végrehajtása rögzített ponttal.

hsv2rgb.h:

Kapcsolódó cikkek