Last active
June 2, 2018 14:01
-
-
Save kevinhowbrook/4d9884ea796b61282712859a42f7eb4b to your computer and use it in GitHub Desktop.
An example of building up RGB values #onmedium
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
for i,letter in enumerate(letters): | |
# Only three numbers needed for RGB so use the first three values as a base | |
# eg: [10, 4, 21] | |
n = 255.0 / 26.0 # make sure we don't get a value above 255. (z = 26. 25 *10 = 260 but 26 * 9.8 = 248 | |
if i < 3: | |
# add the first three values to a new list (number) | |
letterPosition = alphabet.index(letter) * n # *n here to force a good large number base | |
number.append(letterPosition) | |
# Use the remaining values to fine tune the first three we have so it will be a better variant | |
elif i >= 3 and i < 6: | |
letterPosition = alphabet.index(letter) * n / 26 # /26 here to get a smaller number to add (we don't want (20*10 + 20*10)) | |
number.append(letterPosition) | |
# For words above six letter, add a further division so we can keep adding values and never reach above 255, | |
elif i >= 6: | |
letterPosition = alphabet.index(letter) * n / 26 / 26 # /26/26 to get even smaller numbers probably overkill but it makes sense mathematically. | |
number.append(letterPosition) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment