Hoe maak je goede regenboog en willekeurige kleuren met het RGB-kleurmodel (4 / 5 stap)

Stap 4: Willekeurige kleuren

OK, regenboog gedaan, laten we enkele mooie willekeurige kleuren. Wat kunnen gemakkelijker? Gewoon

 byte r, g, b;r = random(255); g = random(255); b = random(255); setRGBpoint(LED, r, g, b); 

zal doen, juist? Ik denk dat je al zien dat dit in oncontroleerbare stroomfluctuaties resulteren zal. Wat is meer, dit ding meestal ziet eruit als net iets getint tinten van wit, als het vult alle drie kanalen met sommige huisvuil (in HSV-model dat gemiddeld 50 worden zal % verzadiging – maar we willen 100%!).

Kijk naar dit:

 r = random(256);g = random(256-r); b = (255-r-g); setRGBpoint(LED, r, g, b); 

Er is hier geen probleem met energieverbruik, maar je kunt zien dat dit specifieke algoritme het eerste kanaal (rood gunsten): het wordt 50% van willekeurige waarden, en de andere helft wordt gedeeld tussen de twee resterende degenen. Dit is niet zo slecht aangezien het eruit ziet en je moet niet ontslaan dit algoritme. Menselijk oog is niet erg goed in de omgang met blauwe en groene kleuren (in feite, ik heb gelezen ergens dat we geleerd om te onderscheiden die kleuren niet zo lang geleden; zij waren voor de oude Egyptenaren hetzelfde). Maar we zijn mooi OK met reds. We kunnen gemakkelijk vertellen elkaar scarlet, sinaasappel, oker, geel en citroen – deze kleuren zijn tussen rood en groen in het RGB-model. Hetzelfde geldt voor violet, paars, fuchsia, magenta, roze en roze. Maar kunt u zich herinneren de dezelfde hoeveelheid cyaan tinten? Emerald? Err... hemelsblauwe?... Een beetje vals spelen met rood in uw willekeurige algoritme kan dus volkomen o.k. Als u weet wat u doet.

Laten we proberen een echte willekeurige die niet het voordeel van een enkele kleurkanaal. Voor dit liever ik met een kleine matrix van bytes en een teller die heeft verhoogd telkens wanneer de functie wordt uitgevoerd:

 byte color[3];byte count, a0, a1, a2; color[count]=random(256); a0=count+random(1)+1; color[a0%3]=random(256-color[count]); color[(a0+1)%3]=255-color[a0%3]-color[count]; setRGBpoint(LED, color[0], color[1], color[2]); count+=random(15); // to avoid repeating patterns count%=3; 

It's ok, maar deze drie randoms zijn niet verzadigd genoeg omdat we drie kanalen met sommige waarden vullen. Als we mooie diepe kleuren willen moet vullen we slechts twee van hen, het verlaten van de laatstgenoemde op nul. Dit algoritme zal dergelijke kleuren produceren (in feite het volledig overeenstemt met de 'macht-bewuste' HSV model geven ons duidelijk tinten op 100% verzadiging):

 color[count]=random(256);a0=random(1); a1=((!a0)+count+1)%3; a0=(count+a0+1)%3; color[a0]=255-color[count]; color[a1]=0; setRGBpoint(LED, color[0], color[1], color[2]); count+=random(15); // to avoid repeating patterns count%=3; 

Hoe zit het met de opzoektabel van de sinus we zojuist heeft gedaan? Het kan ook worden gebruikt, en het produceert zelfs dieper en helderder kleuren, een beetje meer verschoven naar basis rood, groen en blauw:

 a0=random(240);color[count]=lights[a0]; a1=random(1); a2=((!a1)+count+1)%3; a1=(count+a1+1)%3; color[a1]=lights[(a0+100)%240]; color[a2]=0; setRGBpoint(4, color[0], color[1], color[2]); count++; count%=3; 

Dit zijn slechts enkele voorbeelden, test hen uit te vinden welke u het beste uitkomt. Er zijn vele manieren om willekeurige kleuren, en het is een goed idee om ze te mixen voor betere resultaten.

Gerelateerde Artikelen

Hoe maak je een regenboog van Soda (Deviantart Muro)

Hoe maak je een regenboog van Soda (Deviantart Muro)

Hallo. In zijn tutorial ga ik je laten zien hoe je een regenboog in Deviantart Muro. Ik ga er echter niet alleen om u te tonen hoe maak je een regenboog. Een soda regenboog lijkt geschikter. De afbeelding toont hoe het eindproduct er uit zou kunnen z
Hoe maak je goede Bibim Myun (Go & David)

Hoe maak je goede Bibim Myun (Go & David)

dit zijn noodzakelijke ingrediënten om goede Bibim Myun.Stap 1: Hoe maak je goede Bibim Myun (Go & David) Dit is de Koreaanse traditionele groente, genaamd Kimchi. Het is gemaakt met een verscheidenheid van kruiderijen.Stap 2: Hoe maak je goede Bibim
Hoe maak je een regenboog potlood Case - stapsgewijze zelfstudie

Hoe maak je een regenboog potlood Case - stapsgewijze zelfstudie

https://Youtu.be/PyLjmzFyM40Stap 1: Om te doen een regenboog potlood geval u nodig! Een rits Pen zak u moet doen:1) ritsen;2) gevoeld;3) scissor;4) naald & draad (u kunt naaimachine gebruiken als u wilt);5) lijmpistool.Stap 2: In deze tutorial instru
Hoe maak je een boot van de stoom met een kaars

Hoe maak je een boot van de stoom met een kaars

https://www.YouTube.com/watch?v=sWJqCubW1ic&feature=Youtu.beStap 1: Om te doen een boot van de stoom met een kaars u nodig!In deze instructables ik zal je laten zien een geweldig idee van hoe maak je een boot van de stoom met de kaars.Stap 2: Kindere
Hoe maak je een tegenhanger van de bloem met een koffie Pod

Hoe maak je een tegenhanger van de bloem met een koffie Pod

Hallo iedereen,We wilden delen met uw onze eerste tutorial op YouTube. Hoe maak je een tegenhanger van de bloem met een koffie pod. De Nespresso koffie peulen zijn ronde, maar we willen spelen met hen en andere vormen te verkrijgen. En omdat we beide
Hoe maak je een autopatcher voor windows xp met behulp van batchbestanden

Hoe maak je een autopatcher voor windows xp met behulp van batchbestanden

hoe maak je een autopatcher voor windows xp met behulp van batchbestandenAlleen beschrijving, foto's kunnen nooit bestaan :)Stap 1: Alle stappen hier omdat het te moeilijk om te lezen in meerdere pagina 's1. Maak een nieuwe map op uw bureaublad2. all
Hoe maak je de beste PB + J ooit met een CRUNCH!

Hoe maak je de beste PB + J ooit met een CRUNCH!

In dit Instructable ik ga vertellen u hoe maak je een geweldig PB + J sandwich met een crunch. Ik bedoel niet met knapperige pindakaas maar een lichte crunch. om van te genieten.Stap 1: Eerste stap Oke hier is uw eerste stap. Koop levert. Je moet voo
Hoe maak je de letters J en O met 1/2 in PVC

Hoe maak je de letters J en O met 1/2 in PVC

In dit instructable, leert u hoe maak je de letters J en O met 1/2 in diameter PVC.Stap 1: Materialen voor J en O Om de hoofdletter J, moet u de volgende materialen: (alle gewrichten en PVC is 1/2 in)1 T-joint2 90 graden ellebogen2 2 in PVC1 1 in PVC
Hoe maak je Awesome regenboog Cupcakes

Hoe maak je Awesome regenboog Cupcakes

dit Instructable zal u tonen hoe te vergoeden awesome regenboog cupcakes die niet alleen maar de smaak goed uitzien ook! Uw vrienden zullen alleen denken het kostte je voor altijd te maken deze cupcakes. Alleen zal jij weten dat het duurde niet hele
Hoe maak je een armband van twee kleuren Survival

Hoe maak je een armband van twee kleuren Survival

Gedurende dit Instructable zal ik u tonen hoe te maken van een armband overleving 2 kleur met een gesp. Wanneer u klaar bent, afhankelijk van de grootte van uw pols, de armband zal ontrafelen in 2 gelijke lengtes van paracord elk meten van ongeveer 5
Hoe maak je een Paracord armband (2 kleuren)

Hoe maak je een Paracord armband (2 kleuren)

dit zal u tonen hoe te maken van een paracord armband met:Een gespTwee 4 voet lange touwen van paracordEen aanstekerMes of schaarStap 1: Stap 1 Uw aansteker kunt het touw samensmelten.Stap 2: Stap 2 Na dat uw gesp krijgen en het touw het touw door de
Hoe maak je goede Bostin' Yorkshire Puds

Hoe maak je goede Bostin' Yorkshire Puds

hier is een grote familie recept voor goede ouderwetse Yorkshire pudding. Dit recept heeft nooit me neer gelaten, als je het naar de letter volgen!Snel, eenvoudig en leuk om te maken!Geweldig voor een Sunday Roast!Maar ook proberen met vanille-ijs en
Hoe maak je goede aangepaste klassen in MW3

Hoe maak je goede aangepaste klassen in MW3

zoals elke CoD MW3 speler is het zeer moeilijk weten zou om aangepaste clases die betrekking hebben op elke mogelijke situatie.Gelukkig voor u heb ik gemaakt om te helpen.Stap 1: Klasse 1 wapens Moet u aangepaste klasse 1 in uw klasse snelle aanval.P
Hoe maak je een geodetische koepel van Maquette met karton,

Hoe maak je een geodetische koepel van Maquette met karton,

wat we nodig hebben:Pen en papier, een rekenmachine, een potlood, sommige heersers, een kompas, een cutter mes, plakband, lijm, enkele of dubbele muur gegolfd karton, een werktafel en "patience".Inleiding.Laat zeggen u willen een dummy van een k