Nwlapcug.com


Come calcolare la sfumatura di colore

Come calcolare la sfumatura di colore


Modelli di colore sono metodi per mappare numericamente lo spettro dei colori. I modelli consistono solitamente di tre o quattro valori di componente, ad esempio il rosso, verdi e blu componenti del modello di colore RGB. Per il bene di creare un senso di profondità o altri effetti grafici, è spesso preferibile utilizzare i modelli per creare sfumature di colore, che sono transizioni tra un colore e l'altro. Creazione di gradienti è una questione di matematicamente interpolando tra i componenti del modello di colore. I calcoli di sfumati possono essere come semplice o complesso come ti piace.

Istruzioni

1

Definire una coppia di coordinate corrispondente per l'inizio e la fine della sfumatura. Per una sfumatura lineare, quelle coordinate anche specificano direzione della sfumatura, così in effetti, essi servono come la testa e la coda di un vettore, che è una quantità direzionale. Per una sfumatura radiale, coda del vettore corrisponde al centro, e grandezza del vettore è uguale al raggio. Ad esempio, se si desidera una sfumatura diagonale per riempire un quadrato cui superiore sinistro coordinata è (0, 0), e il basso a destra è (100, 100), definire quelle stesse coordinate come la testa e la coda del vettore. Ogni linea perpendicolare al vettore tra la coda e la testa cambierà gradualmente dal colore iniziale a (0, 0) al colore finale a (100, 100).

2

Calcolare la grandezza del vettore sfumato con l'equazione M = sqrt ((X2-X1) ² + (y2 - y1) ²), dove (x1, y1) e (X2, y2) sono le coordinate della coda e la testa rispettivamente. Ad esempio, M = sqrt ((100-0) + (100-0) ²) = 141,4.

3

Calcolare la distanza alla coda del vettore gradiente per ogni punto nella zona. Per un vettore radiale, l'equazione è D = sqrt ((x - x1) ≤ + (y - y1) ²), dove (x, y) è la coppia di coordinate del punto. Per le sfumature lineari, la distanza non è coda stessa ma per la linea che passa attraverso la coda perpendicolare al vettore. L'equazione è D = (x(X2-X1)-1 xx 2 + 1² x + y(y2 - y1) - y1y2 + y1²) / M. qualsiasi distanza meno di 0 a 0 e impostare qualsiasi distanza maggiore di grandezza alla grandezza. Ad esempio, la distanza del punto (20, 30) è D = (20100 + 30100) / 141.1 = 35,4. Tutti i punti sulla retta che passa perpendicolare attraverso quel punto hanno la stessa distanza.

4

Calcolare distanza del punto a rapporto di grandezza con l'equazione R = D/M. Ad esempio, il rapporto per il punto (20, 30) è R = 35.4/141.4 = 0,25.

5

Trovare tutti i componenti di colore per il punto con il Cp formula = R (C2 - C1) + C1, dove C1 e C2 sono i componenti corrispondenti per il colore iniziale e finale della sfumatura. Questa formula funziona per qualsiasi modello di colore, ma quando si lavora con componenti ciclici, ad esempio la tonalità del modello HSL (tonalità saturazione luminosità modello), utilizzare valori per C1 e C2 tale che C2 meno C1 è gamma meno della metà del componente.

Ad esempio, se la sfumatura iniziale e finale di HSL colori sono (10, 93, 33) e (355, 28, 60), la differenza C2 meno C1 per la tonalità è 355-10 = 345, che è più di gamma di mezzo l'HSL di 360 gradi, così come lavorare con gli angoli di un cerchio, aggiungere 360 gradi per trovare un angolo equivalente. Lasciate che C1 = 360 + 10 = 370. Pertanto la componente di hue è Cp = 0.25(355-370) + 370 = 366.3. Che è compreso nell'intervallo, quindi sottrarre 360 per un valore di 6,3. Gli altri componenti HSL non sono ciclici, quindi i calcoli sono più semplici. Per saturazione, Cp = 0.25(28-93) + 93 = 76,8 e per la leggerezza, Cp = 0.25*(60-33) + 33 = 40,0. Completano tutti i calcoli per un finale colore HSL (6, 77, 40).

Consigli & Avvertenze

  • Se si desidera un'interpolazione non lineare tra i componenti, è possibile applicare qualsiasi funzione per il numeratore e il denominatore di R = D/M e prendere il valore assoluto. Per istanza prova R = abs (sqrt(2D-D²)/sqrt(2M-M²)).
  • Mediante la definizione di un altro vettore con la stessa coda come il vettore di sfumatura, ma con una testa a (x, y), è possibile derivare la formula di distanza lineare nel passaggio 3. Utilizzando l'algebra vettoriale, prendere il prodotto scalare di due vettori e dividere per grandezza del vettore gradiente.