The Wiki for Tale 4 is in read-only mode and is available for archival and reference purposes only. Please visit the current Tale 11 Wiki in the meantime.

If you have any issues with this Wiki, please post in #wiki-editing on Discord or contact Brad in-game.

User:Inkoaten/Raeli Colors

From A Tale in the Desert
Jump to navigationJump to search

Raeli Colors

Scratchpad area for working out Raeli color progressions.

If you have any ideas or more data for this, please go ahead and put comments here or on the discussion page, or chat to me ingame.

The accepted wisdom that hue and saturation are fixed per oven seems to be correct after all, I just had a bug in my conversion script :/

Numaris' oven data

Oven: Shabbat Ab 95,1296. I took screenshots every 15 seconds across a complete tile run, and generated a HSL graph of the color progression.

Raeli Oven color progression Raeli Oven RGB progression Raeli Oven actual data vs. computed from HSL

cory0210's data

From Guilds/Akhetaton#Raeli Oven:

Color Raw RGB RGB HSL HSV
R G B R G B H S L H S V
White Smoke 241 240 248 94.5% 94.1% 97.3% 247 36.4% 95.7% 247 3.2% 97.3%
Lavender 236 234 245 92.5% 91.8% 96.1% 251 35.5% 93.9% 251 4.5% 96.1%
Gainsboro 220 219 237 86.3% 85.9% 92.9% 243 33.3% 89.4% 243 7.6% 92.9%
Light Grey 207 204 231 81.2% 80.0% 90.6% 247 36.0% 85.3% 247 11.7% 90.6%
Thistle 205 202 231 80.4% 79.2% 90.6% 246 37.7% 84.9% 246 12.6% 90.6%
Light Steel Blue 197 193 228 77.3% 75.7% 89.4% 247 39.3% 82.5% 247 15.4% 89.4%
Medium Purple 160 155 211 62.7% 60.8% 82.7% 245 38.9% 71.8% 245 26.5% 82.7%
Slate Blue 126 119 197 49.4% 46.7% 77.3% 245 40.2% 62.0% 245 39.6% 77.3%
Dark Slate Blue 84 78 178 32.9% 30.6% 69.8% 244 39.4% 50.2% 244 56.2% 69.8%

Table generation

Table generated by this script:

#!/usr/bin/env python

import sys

def rgb2hsl(r,g,b):
    minc = min(r,g,b)
    maxc = max(r,g,b)

    if maxc == minc: h = 0
    elif maxc == r: h = (60 * (g-b)/(maxc-minc) + 360) % 360
    elif maxc == g: h = (60 * (b-r)/(maxc-minc) + 120)
    elif maxc == b: h = (60 * (r-g)/(maxc-minc) + 240)

    l = (maxc+minc) / 2.0

    if maxc == minc: s = 0.0
    elif l <= 0.5: s = (maxc-minc) / (maxc+minc)
    else: s = (maxc-minc) / (2 - (maxc+minc))

    return (h,s,l)

def rgb2hsv(r,g,b):
    minc = min(r,g,b)
    maxc = max(r,g,b)

    if maxc == minc: h = 0
    elif maxc == r: h = (60 * (g-b)/(maxc-minc) + 360) % 360
    elif maxc == g: h = (60 * (b-r)/(maxc-minc) + 120)
    elif maxc == b: h = (60 * (r-g)/(maxc-minc) + 240)

    if maxc == 0: s = 0.0
    else: s = (maxc-minc) / maxc

    v = maxc

    return (h,s,v)

data=(
  ('White Smoke', 241, 240, 248),
  ('Lavender', 236, 234, 245),
  ('Gainsboro', 220, 219, 237),
  ('Light Grey', 207, 204, 231),
  ('Thistle', 205, 202, 231),
  ('Light Steel Blue', 197, 193, 228),
  ('Medium Purple', 160, 155, 211),
  ('Slate Blue', 126, 119, 197),
  ('Dark Slate Blue', 84, 78, 178)
)

print '{| border="1" cellspacing="0" cellpadding="5"'
print '! rowspan="2"|Color !! colspan="3"|Raw RGB !! colspan="3"|RGB !! colspan="3"|HSL !! colspan="3"|HSV'
print '|-'
print '! R !! G !! B !! R !! G !! B !! H !! S !! L !! H !! S !! V'

for name, r, g, b in data:
    print '|-'
    print '| %s' % (name,)
    print '| %d || %d || %d' % (r,g,b)

    r = r/255.0
    g = g/255.0
    b = b/255.0

    print '| %.1f%% || %.1f%% || %.1f%%' % (r*100.0,g*100.0,b*100.0)

    h,s,l = rgb2hsl(r,g,b)
    print '| %.0f || %.1f%% || %.1f%%' % (h, s*100.0, l*100.0)
    h,s,v = rgb2hsv(r,g,b)
    print '| %.0f || %.1f%% || %.1f%%' % (h, s*100.0, v*100.0)

print '|}'