PaletteOptimiser

Changeset

9:cf2a36920a98
2015-09-08 Paul Boddie raw files shortlog changelog graph Made the colour scale more accurate/detailed.
optimiser.py (file)
     1.1 --- a/optimiser.py	Tue Sep 08 23:32:16 2015 +0200
     1.2 +++ b/optimiser.py	Tue Sep 08 23:58:43 2015 +0200
     1.3 @@ -6,13 +6,13 @@
     1.4  import sys
     1.5  
     1.6  def scale(v):
     1.7 -    return (v + 64) / 128
     1.8 +    return (v + 43) / 85
     1.9  
    1.10  def point(rgb):
    1.11      return tuple(map(scale, rgb))
    1.12  
    1.13  def index(p):
    1.14 -    return p[0] * 9 + p[1] * 3 + p[2]
    1.15 +    return p[0] * 16 + p[1] * 4 + p[2]
    1.16  
    1.17  def colour(i):
    1.18      return (255 * (i % 2), 255 * ((i / 2) % 2), 255 * ((i / 4) % 2))
    1.19 @@ -35,15 +35,22 @@
    1.20      return by_frequency(bases)[0]
    1.21  
    1.22  tones = [
    1.23 -    "___", "_BB", "BBB", # 00x
    1.24 -    "_GG", "_CC", "BCC", # 01x
    1.25 -    "GGG", "GCC", "CCC", # 02x
    1.26 -    "_RR", "_MM", "BMM", # 10x
    1.27 -    "_YY", "_*W", "BBW", # 11x
    1.28 -    "GYY", "GGW", "CCW", # 12x
    1.29 -    "RRR", "RMM", "MMM", # 20x
    1.30 -    "RYY", "RRW", "MMW", # 21x
    1.31 -    "YYY", "YYW", "WWW", # 22x
    1.32 +    "___", "_BB", "BBB", "BBB", # 00x
    1.33 +    "_GG", "_GC", "GGC", "GCC", # 01x
    1.34 +    "GGG", "GGC", "GCC", "GCC", # 02x
    1.35 +    "GGG", "GCC", "CCC", "CCC", # 03x
    1.36 +    "_RR", "_MM", "MMB", "MBB", # 10x
    1.37 +    "_YY", "_**", "_*B", "BBW", # 11x
    1.38 +    "GYY", "GGW", "GCC", "CCW", # 12x
    1.39 +    "GGY", "GGG", "GCC", "CCW", # 13x
    1.40 +    "RRR", "RRM", "RMM", "MMM", # 20x
    1.41 +    "RYY", "RRW", "RMW", "MMW", # 21x
    1.42 +    "YYY", "YYW", "**W", "WWW", # 22x
    1.43 +    "YYY", "YYW", "YWW", "WWW", # 23x
    1.44 +    "RRR", "RMM", "RMM", "MMM", # 30x
    1.45 +    "RRY", "RRY", "RMM", "MMW", # 31x
    1.46 +    "YYY", "YYW", "YYW", "WWW", # 32x
    1.47 +    "YYY", "YYW", "YYW", "WWW", # 33x
    1.48      ]
    1.49  
    1.50  colours = ["_", "R", "G", "Y", "B", "M", "C", "W"]