Färg modeller är metoder för att numeriskt kartlägga färgspektrat . Modellerna består oftast av tre eller fyra komponentvärden , såsom de röda , gröna och blå komponenterna i RGB-modellen . För tydlighetens skull skapa en känsla av djup eller andra grafiska effekter , är det ofta önskvärt att använda modellerna för att skapa gradienter , vilka är mjuka övergångar mellan en färg och en annan . Skapa övertoningar är en fråga om matematiskt interpolera mellan komponenterna färgmodell . De lutning beräkningarna kan vara så enkelt eller komplicerat som du vill . Instruktioner
1
Definiera ett par koordinater motsvarar början och slut av gradienten . För en linjär gradient , samordnar de även ange lutning riktning , så i praktiken fungerar de som huvud och svans av en vektor , som är en riktad kvantitet . För en radiell gradient motsvarar vektorns svans till centrum , och vektorns magnitud motsvarar radien . Till exempel , om du vill ha en diagonal lutning för att fylla en kvadrat vars övre vänstra koordinat är ( 0 , 0 ) , och den nedre högra är ( 100 , 100 ) , definierar de samma koordinater som huvud och svans av vektorn . Varje linje vinkelrät mot vektorn mellan svansen och huvudet kommer att gradvis förändra från start färg vid ( 0 , 0 ) till den slutliga färgen på ( 100 , 100 ) .
2
Beräkna storleken på den gradientvektorn med ekvationen M = sqrt ( ( x2 - x1 ) ² + ( y2 - y1 ) ² ) , där ( x1 , y1 ) och ( x2 , y2 ) är koordinaterna för svansen och huvudet resp . Till exempel , M = sqrt ( (100 - 0) + (100 - 0) ² ) = 141,4
3
Beräkna avståndet till gradientvektorn svans för varje punkt i . området. För en radiell vektor , är ekvationen D = sqrt ( (x - x1 ) ² + (y - y1 ) ² ) , där (x , y) är punktens koordinatpar . För linjära gradienter , är avståndet inte till svansen själv utan till den linje som passerar genom svansen vinkelrätt mot vektorn. Ekvationen är D = ( x * ( x2 - x1 ) - x1 * x2 + x1 ² + y * ( y2 - y1 ) - y1 * y2 + y1 ² ) /M. Ställ alla avstånd mindre än 0 till 0 , och ange något avstånd större än storleken på storleken . Till exempel är avståndet mellan den punkt ( 20 , 30 ) D = ( 20 * 100 + 30 * 100 ) /141,1 = 35,4 . Alla punkter på linjen passerar vinkelrätt genom den punkten har samma avstånd .
4
Beräkna punktens avstånd till magnitud förhållande med ekvationen R = D /M. Till exempel är förhållandet för punkten ( 20 , 30 ) R = 35.4/141.4 = 0.25
5
Hitta alla färgkomponenterna för punkten med formeln Cp = R ( C2 . - C1 ) + C1 , där C1 och C2 är motsvarande komponenter i den första och sista färgen i övertoningen . Denna formel fungerar för någon färgmodell , men när man arbetar med cykliska komponenter, såsom den nyans av HSL -modellen ( Hue Saturation Lightness modell ) , bruksvärden för C1 och C2 så att C2 minus C1 är mindre än hälften av komponentens sortiment .
till exempel, om din lutning inledande och avslutande HSL färger ( 10 , 93 , 33 ) och ( 355 , 28 , 60 ) , skillnaden C2 minus C1 för nyans är 355-10 = 345 , vilket är mer än hälften av HRT : s utbud av 360 grader , så precis som att arbeta med vinklarna i en cirkel , tillsätt 360 grader för att hitta en motsvarande vinkel . Låt C1 = 360 + 10 = 370 . Därför nyans komponenten är Cp = 0,25 * ( 355-370 ) + 370 = 366,3 . Det är utanför intervallet , så subtrahera 360 till ett värde av 6,3 . De andra HRT -komponenter är inte cyklisk , så beräkningarna är enklare . För mättnad , Cp = 0,25 * ( 28-93 ) + 93 = 76,8 , och för lätthet , Cp = 0,25 * (60 - 33) + 33 = 40,0 . Avrunda alla beräkningar för en slutlig HSL färg ( 6 , 77 , 40 ) .