Converting RGB to HSV
Given three numbers R, G, and B (each between 0 and 255), you can first define m and M with the relationsM = max{R, G, B}
m = min{R, G, B}.
And then V and S are defined by the equations
V = M/255
S = 1 - m/M if M > 0
S = 0 if M = 0.
As in the HSI and HSL color schemes, the hue H is defined by the equations
H = cos-1[ (R - ½G - ½B)/√R² + G² + B² - RG - RB - GB ] if G ≥ B, or
H = 360 - cos-1[ (R - ½G - ½B)/√R² + G² + B² - RG - RB - GB ] if B > G.
Inverse cosine is calculated in degrees.
Converting HSV to RGB
Given the values of H, S, and V, you can first compute m and M with the equationsM = 255V
m = M(1-S).
Now compute another number, z, defined by the equation
z = (M-m)[1 - |(H/60)mod_2 - 1|],
where mod_2 means division modulo 2. For example, if H = 135, then (H/60)mod_2 = (2.25)mod_2 = 0.25. In modulo 2 division, the output is the remainder of the quantity when you divide it by 2.
Now you can compute R, G, and B according to the angle measure of H. There are six cases. When 0 ≤ H < 60,
R = M
G = z + m
B = m.
If 60 ≤ H < 120,
R = z + m
G = M
B = m.
If 120 ≤ H < 180,
R = m
G = M
B = z + m.
When 180 ≤ H < 240,
R = m
G = z + m
B = M.
When 240 ≤ H < 300,
R = z + m
G = m
B = M.
And if 300 ≤ H < 360,
R = M
G = m
B = z + m.
from
http://www.had2know.com/technology/hsv-rgb-conversion-formula-calculator.html