Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako vypočítať farebný gradient

Farebné modely sú metódy , ktoré číselne Mapa farebného spektra . Modely sa zvyčajne skladajú z troch alebo štyroch hodnôt komponentov , ako sú červené , zelené a modré zložky farebného modelu RGB . Za účelom vytvorenia dojmu hĺbky alebo iné grafické efekty , je často žiadúce používať modely vytvoriť farebné prechody , ktoré sú hladké prechody medzi jednu farbu a ďalšie . Vytvorenie prechodov je otázkou matematicky interpoláciou medzi zložkami farebného modelu . Výpočty sklon môže byť tak jednoduché alebo zložité , ako sa vám páči . Pokyny dovolená 1

definovať dvojicu súradníc , ktorý zodpovedá začiatku a na konci prechodu . V lineárnym gradientom , tieto súradnice tiež určiť smer prechodu , takže v skutočnosti , že slúži ako hlava a chvost vektora , ktorý je riadiaci veličinou . U kruhového prechodu , vektora chvost zodpovedá stredu , a vektora veľkosť sa rovná polomeru . Napríklad , ak chcete , aby sa diagonálna prechod k vyplneniu štvorec , ktorého horná ľavá súradníc je ( 0 , 0 ) , a vpravo dole je ( 100 , 100 ) , definovať tie isté súradnice ako hlava a chvost vektora . Každá priamka kolmá k vektora medzi chvosta a hlavy budú postupne meniť z východiskovej farby u ( 0 , 0 ) na konečnú farbu na ( 100 , 100 ) .
2

Vypočítajte veľkosť gradientný vektor s rovnicou M = sqrt ( (x2 - x1 ) ² + ( y2 - y1 ) ² ) , kde ( x1 , y1 ) a ( x2, y2 ) sú súradnice chvosta a hlavy , resp . Napríklad , M = sqrt ( ( 100-0 ) + ( 100-0 ) ² ) = 141,4
3

Vypočítajte vzdialenosť k gradientu vektora chvost na každom bode . oblasť . Pre radiálne vektor , rovnica je D = sqrt ( ( x - x1 ) ² + ( y - y1 ) ² ) , kde ( x , y ) je bod , je dvojica súradníc . Pre lineárne gradienty , vzdialenosť nie je chvosta samotné , ale na linke , ktorá prechádza kolmo k chvostu vektora . Rovnica je D = ( x * (x2 - x1 ) - x1 * x2 + x1 ² + y * ( y2 - y1 ) - y1 * y2 + y1 ² ) /M Nastavte ľubovoľné vzdialenosti menej ako 0-0 , a nastaviť ľubovoľnú vzdialenosť väčšia , než je veľkosť k veľkosti . Napríklad , vzdialenosť bodu ( 20 , 30 ) , je D = ( 20 * 100 + 30 * 100 ) /141,1 = 35,4 . Všetky body na línii prechádzajúcej kolmo prechádzajúcej týmto bodom má rovnakú vzdialenosť .
4

Vypočítajte vzdialenosť bodu voči veľkostnej pomer s rovnicou R = D /M. Napríklad , pomer pre bod ( 20 , 30 ) je R = 35.4/141.4 = 0,25
5

nájsť každý z farebných zložiek na miesta s vzorca Cp = R ( C2. - C1 ) + C1 , kde C1 a C2 sú príslušné komponenty pre počiatočnú a konečnú farbu gradientu . Tento vzorec funguje pre akýkoľvek farebný model , ale pri práci s cyklických komponentov , ako je napríklad odtieň modelu HSL ( model Hue Saturation Lightness ) , hodnoty použitie pre C1 a C2 tak , aby C2 mínus C1 je menej než polovičná rozsah tejto komponenty .

Napríklad , ak je počiatočné a konečné farby HSL gradientu sú ( 10 , 93 , 33 ) a ( 355 , 28 , 60 ) , rozdiel C2 mínus C1 pre odtieň je 355-10 = 345 , čo je viac ako polovica rozpätie HSL je o 360 stupňov , takže rovnako ako pracovať s uhlami kruhu , pridajte 360 stupňov nájsť zodpovedajúci uhol . Nech C1 = 360 + 10 = 370. Preto zložka odtieň je Cp = 0,25 * ( 355 - 370) + 370 = 366,3 . To je mimo rozsah , takže odpočítať 360 na hodnotu 6,3 . Ostatné komponenty HSL nie sú cyklické , tak výpočty sú viac priamočiare . Pre nasýtenie , Cp = 0,25 * ( 28 - 93 ) + 93 = 76,8 , a ľahkosť , Cp = 0,25 * ( 60 - 33 ) + 33 = 40,0 . Zaokrúhliť všetky výpočty pre konečné HSL farby ( 6 , 77 , 40 ) .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené