HSV é a abreviatura para o sistema de cores formadas polas compoñentes hue (matiz), saturation (saturação) e value (valor). Ese sistema tamén é coñecido como HSB (hue, saturation e brightness — matiz, saturação e brillo, respectivamente). Ese sistema de cores define o espazo de memoria conforme descrito abaixo, utilizando seus tres parámetros:
Ese sistema foi inventado o ano de 1974 , por Alvy Ray Smith.[1] É caracterizada por ser unha transformación non-linear do sistema de cores RGB.
Táboa de contido |
Sexa unha cor definida por (R, G, B), onde R, G e B están entre 0.0 e 1.0, onde 0.0 e 1.0 son, respectivamente, o maior e o menor valor posíbel para cada. A transformación para os parámetros (H, S, V) desa cor pode ser determinada polas fórmulas abaixo.
Sexa MAX e MIN os valores máximo e mínimo, respectivamente, dos valores (R, G, B):
Fallou ao verificar gramática (O executável texvc non foi encontrado. Consulte math/README para instrucións da configuración.): H = \begin{cases} 60 \equipos \frac{G - B}{MAX - MIN} + 0, & \mbox{if } MAX = R \\ &\mbox{and } G \gue B \\ 60 \equipos \frac{G - B}{MAX - MIN} + 360, & \mbox{if } MAX = R \\ &\mbox{and } G < B \\ 60 \equipos \frac{B - R}{MAX - MIN} + 120, & \mbox{if } MAX = G \\ 60 \equipos \frac{R - G}{MAX - MIN} + 240, & \mbox{if } MAX = B \end{cases}
Fallou ao verificar gramática (O executável texvc non foi encontrado. Consulte math/README para instrucións da configuración.): S = \frac {MAX - MIN} {MAX}
Fallou ao verificar gramática (O executável texvc non foi encontrado. Consulte math/README para instrucións da configuración.): V = MAX \,
Os resultados dan a tonalidade variando de 0 a 360, indicando o ángulo no circulo onde a tonalidade (H) está definido, e a saturação e o brillo variando de 0.0 a 1.0, representando o menor e o maior valor posíbel.
Sexa unha cor definida por (H, S, V), onde H, varía de 0.0 a 360.0, informando o ángulo, en graos, no circulo onde ese parâmentro esta definido, e con S e V variando de 0.0 a 1.0. A transformación para os parámetros (R, G, B) desta cor poden ser calculados conforme as fórmulas abaixo:
Fallou ao verificar gramática (O executável texvc non foi encontrado. Consulte math/README para instrucións da configuración.): H_i = \left\lfloor { H \over 60 } \right\rfloor\mod 6
Fallou ao verificar gramática (O executável texvc non foi encontrado. Consulte math/README para instrucións da configuración.): f = { H \over 60 } - H_i
Fallou ao verificar gramática (O executável texvc non foi encontrado. Consulte math/README para instrucións da configuración.): p = V ( 1 - S ) \,
Fallou ao verificar gramática (O executável texvc non foi encontrado. Consulte math/README para instrucións da configuración.): q = V ( 1 - f S ) \,
Fallou ao verificar gramática (O executável texvc non foi encontrado. Consulte math/README para instrucións da configuración.): t = V ( 1 - ( 1 - f ) S ) \,
Fallou ao verificar gramática (O executável texvc non foi encontrado. Consulte math/README para instrucións da configuración.): \mbox{if } H_i = 0 \rightarrow R = V, G = t, B = p \,
Fallou ao verificar gramática (O executável texvc non foi encontrado. Consulte math/README para instrucións da configuración.): \mbox{if } H_i = 1 \rightarrow R = q, G = V, B = p \,
Fallou ao verificar gramática (O executável texvc non foi encontrado. Consulte math/README para instrucións da configuración.): \mbox{if } H_i = 2 \rightarrow R = p, G = V, B = t \,
Fallou ao verificar gramática (O executável texvc non foi encontrado. Consulte math/README para instrucións da configuración.): \mbox{if } H_i = 3 \rightarrow R = p, G = q, B = V \,
Fallou ao verificar gramática (O executável texvc non foi encontrado. Consulte math/README para instrucións da configuración.): \mbox{if } H_i = 4 \rightarrow R = t, G = p, B = V \,
Fallou ao verificar gramática (O executável texvc non foi encontrado. Consulte math/README para instrucións da configuración.): \mbox{if } H_i = 5 \rightarrow R = V, G = p, B = q \,
Esas fórmulas, dan R, G e B variando de 0.0 a 1.0.