view ub-timer/colorsys_local.py @ 24:872d8155ed0c default tip

start ub-timer
author drewp@bigasterisk.com
date Tue, 24 Dec 2024 21:36:53 -0800
parents
children
line wrap: on
line source


def hsv_to_rgb(h, s, v):
    h = max(0, min(h, 1))
    s = max(0, min(s, 1))
    v = max(0, min(v, 1))
    if s == 0:
        return (v, v, v)
    i = int(h * 6)
    f = h * 6 - i
    p, q, t = v * (1 - s), v * (1 - s * f), v * (1 - s * (1 - f))
    i = i % 6
    if i == 0:
        return (v, t, p)
    if i == 1:
        return (q, v, p)
    if i == 2:
        return (p, v, t)
    if i == 3:
        return (p, q, v)
    if i == 4:
        return (t, p, v)
    if i == 5:
        return (v, p, q)
    raise