466 |
""" |
""" |
467 |
|
|
468 |
for L in [5*r for r in range(10,20)]: |
for L in [5*r for r in range(10,20)]: |
469 |
r,g,b = LABtoRGB((L, 0, 0)) |
Y = LtoY(L) |
470 |
|
r,g,b = YSTtoRGB((Y, 0, 0)) |
471 |
code += """ |
code += """ |
472 |
Begin TRIANGLE_FAN |
Begin TRIANGLE_FAN |
473 |
Color %s %s %s |
Color %s %s %s |
474 |
Vertex 0 0 |
Vertex 0 0 |
475 |
""" % (r, g, b) |
""" % (r, g, b) |
476 |
|
|
477 |
for hue in [d * 5 for d in range(-18*2,18*2+1)]: |
# Add orange color to the color circle |
478 |
|
def getangle(f): |
479 |
|
# 0 = red, 120 = green, 240 = blue |
480 |
|
angles = [ 0, 30, 60, 120, 180, 240, 300, 360 ] |
481 |
|
n = len(angles) - 1 |
482 |
|
f *= n / 360.0 |
483 |
|
while f < 0: f += n |
484 |
|
index = int(f) % n |
485 |
|
fract = f - int(f) |
486 |
|
return (1 - fract) * angles[index] + fract * angles[index + 1] |
487 |
|
|
488 |
angle0 = (hue / 180.0) * pi |
for hue in [d * 5 for d in range(-18*2,18*2+1)]: |
489 |
angle = getangle((hue + 360) % 360 / 360.0) |
angle0 = hue / 180.0 * pi |
490 |
|
angle = getangle(hue) / 180.0 * pi |
491 |
|
|
492 |
r,g,b = LABclamp(LABtoRGB((L, 100 * cos(angle), 100 * sin(angle)))) |
r,g,b = clampSat( YSTtoRGB((Y, cos(angle), sin(angle)))) |
493 |
lab = RGBtoLAB((r,g,b)) |
yst = RGBtoYST((r,g,b)) |
494 |
radius = sqrt(lab[1]**2 + lab[2]**2) * .015 |
radius = sqrt(yst[1]**2 + yst[2]**2) * 1.5 |
495 |
|
|
496 |
x,y = radius * cos(angle0), radius * sin(angle0) |
x,y = radius * cos(angle0), radius * sin(angle0) |
497 |
|
|