import math def hsv_to_rgb(h, s, v): """Convert HSV to RGB (all values as floats between 0 and 1). Algorithm from http://www.cs.rit.edu/~ncs/color/t_convert.html""" if s == 0.0: return (v, v, v) h *= 6 i = int(math.floor(h)) f = h - i p = v * (1 - s) q = v * (1 - (s * f)) t = v * (1 - (s * (1 - f))) if i == 0: return (v, t, p) elif i == 1: return (q, v, p) elif i == 2: return (p, v, t) elif i == 3: return (p, q, v) elif i == 4: return (t, p, v) else: return (v, p, q)