red = 128 green = 192 blue = 255 vmin = min(red, green, blue) vmax = max(red, green, blue) delta = vmax - vmin lum = vmax if delta = 0 hue = 0 sat = 0 else temp = delta/vmax sat = temp*255 if red = vmax temp = (green-blue)/delta else if green = vmax temp = 2 + (blue-red)/delta else temp = 4 + (red-green)/delta endif temp = temp * 60 if temp < 0 temp = temp + 360 endif if temp = 360 temp = 0 endif hue = temp endif endif ? hue, sat, lum