Source code for simetri.colors.swatches

"""Swatches from Japanese Color Harmony Dictionary by Teruko Sakurai"""

from random import randint


swatches_255 = [
    [
        [159, 33, 88],
        [120, 34, 85],
        [165, 132, 144],
        [236, 209, 191],
        [187, 85, 72],
        [0, 125, 142],
        [107, 81, 70],
        [75, 26, 71],
        [220, 211, 178],
    ],
    [
        [233, 71, 9],
        [39, 18, 10],
        [195, 170, 176],
        [247, 213, 179],
        [143, 143, 176],
        [165, 147, 173],
        [244, 179, 194],
        [123, 102, 103],
        [77, 62, 75],
    ],
    [
        [210, 190, 108],
        [167, 139, 91],
        [226, 215, 168],
        [140, 109, 92],
        [118, 118, 118],
        [148, 148, 149],
        [169, 158, 147],
        [229, 222, 206],
        [234, 235, 235],
    ],
    [
        [131, 154, 92],
        [49, 103, 63],
        [75, 45, 22],
        [182, 187, 126],
        [199, 177, 131],
        [145, 115, 71],
        [202, 204, 210],
        [242, 227, 214],
        [116, 109, 96],
    ],
    [
        [188, 98, 56],
        [255, 255, 254],
        [175, 175, 176],
        [47, 39, 37],
        [138, 54, 24],
        [52, 113, 95],
        [0, 88, 120],
        [186, 145, 70],
        [75, 90, 105],
    ],
    [
        [78, 103, 176],
        [24, 68, 142],
        [11, 22, 68],
        [136, 123, 146],
        [165, 154, 202],
        [238, 227, 217],
        [233, 78, 102],
        [192, 133, 184],
        [222, 200, 36],
    ],
    [
        [215, 0, 58],
        [103, 65, 150],
        [97, 92, 102],
        [19, 0, 18],
        [241, 141, 0],
        [249, 248, 248],
        [236, 104, 0],
        [250, 213, 214],
        [246, 173, 72],
    ],
    [
        [232, 56, 40],
        [103, 190, 141],
        [248, 181, 0],
        [252, 212, 117],
        [251, 250, 243],
        [174, 211, 237],
        [207, 0, 96],
        [0, 124, 69],
        [42, 33, 32],
    ],
    [
        [137, 86, 135],
        [204, 125, 177],
        [115, 78, 149],
        [210, 183, 78],
        [248, 238, 209],
        [230, 230, 230],
        [238, 201, 208],
        [137, 195, 235],
        [42, 51, 34],
    ],
    [
        [248, 206, 218],
        [209, 186, 218],
        [160, 216, 239],
        [104, 183, 161],
        [216, 230, 152],
        [240, 193, 192],
        [233, 82, 149],
        [112, 84, 160],
        [35, 157, 218],
    ],
    [
        [238, 235, 221],
        [208, 194, 183],
        [137, 144, 135],
        [214, 176, 93],
        [179, 134, 51],
        [149, 91, 53],
        [66, 55, 49],
        [63, 74, 62],
        [0, 36, 59],
    ],
    [
        [116, 143, 95],
        [97, 104, 53],
        [92, 87, 50],
        [132, 141, 127],
        [28, 73, 54],
        [52, 55, 52],
        [210, 105, 52],
        [175, 78, 33],
        [230, 230, 212],
    ],
    [
        [52, 114, 161],
        [9, 86, 140],
        [250, 248, 240],
        [234, 235, 239],
        [205, 218, 219],
        [201, 194, 189],
        [158, 153, 130],
        [141, 156, 160],
        [161, 168, 174],
    ],
    [
        [245, 238, 218],
        [65, 65, 70],
        [135, 61, 36],
        [63, 33, 19],
        [78, 72, 87],
        [97, 75, 62],
        [155, 132, 109],
        [214, 176, 155],
        [224, 218, 207],
    ],
    [
        [191, 198, 172],
        [219, 212, 184],
        [247, 226, 214],
        [237, 175, 167],
        [213, 112, 105],
        [210, 65, 71],
        [177, 122, 93],
        [90, 80, 63],
        [54, 45, 51],
    ],
    [
        [80, 124, 144],
        [87, 100, 116],
        [17, 18, 22],
        [63, 77, 159],
        [228, 243, 251],
        [80, 115, 65],
        [231, 97, 52],
        [201, 49, 40],
        [242, 216, 80],
    ],
    [
        [224, 125, 125],
        [212, 87, 88],
        [153, 47, 60],
        [241, 239, 219],
        [252, 229, 228],
        [250, 213, 214],
        [246, 188, 179],
        [218, 141, 137],
        [187, 85, 91],
    ],
    [
        [205, 223, 233],
        [159, 192, 207],
        [136, 160, 203],
        [242, 241, 245],
        [244, 243, 236],
        [254, 236, 204],
        [252, 227, 205],
        [217, 113, 105],
        [198, 83, 78],
    ],
    [
        [117, 129, 179],
        [225, 223, 232],
        [139, 163, 199],
        [217, 200, 223],
        [158, 200, 168],
        [246, 217, 230],
        [251, 235, 175],
        [179, 127, 144],
        [214, 130, 131],
    ],
    [
        [250, 212, 197],
        [246, 184, 173],
        [183, 126, 134],
        [250, 219, 218],
        [255, 241, 203],
        [195, 191, 101],
        [132, 129, 69],
        [112, 123, 107],
        [213, 193, 178],
    ],
    [
        [235, 110, 165],
        [246, 195, 217],
        [182, 206, 92],
        [197, 154, 197],
        [239, 133, 125],
        [192, 42, 60],
        [229, 208, 126],
        [253, 238, 237],
        [130, 105, 72],
    ],
    [
        [121, 184, 117],
        [217, 227, 103],
        [151, 189, 196],
        [151, 138, 164],
        [155, 123, 113],
        [108, 90, 82],
        [59, 96, 67],
        [106, 105, 133],
        [247, 248, 218],
    ],
    [
        [241, 205, 189],
        [195, 144, 150],
        [153, 89, 110],
        [245, 175, 120],
        [253, 225, 176],
        [244, 170, 150],
        [101, 89, 93],
        [255, 246, 233],
        [79, 50, 53],
    ],
    [
        [208, 212, 227],
        [175, 197, 230],
        [134, 182, 104],
        [192, 213, 123],
        [247, 234, 94],
        [217, 142, 176],
        [253, 239, 245],
        [249, 211, 227],
        [244, 180, 208],
    ],
    [
        [216, 65, 145],
        [214, 139, 185],
        [235, 109, 154],
        [251, 230, 239],
        [221, 192, 206],
        [174, 128, 126],
        [193, 216, 128],
        [150, 200, 85],
        [145, 164, 78],
    ],
    [
        [183, 203, 60],
        [114, 175, 45],
        [135, 151, 189],
        [86, 124, 3],
        [35, 87, 44],
        [163, 195, 223],
        [224, 234, 241],
        [184, 180, 166],
        [81, 90, 66],
    ],
    [
        [0, 173, 122],
        [150, 208, 182],
        [0, 121, 95],
        [2, 153, 59],
        [154, 204, 130],
        [246, 244, 216],
        [216, 222, 138],
        [139, 153, 124],
        [108, 147, 119],
    ],
    [
        [70, 61, 149],
        [231, 62, 112],
        [66, 123, 191],
        [251, 251, 251],
        [175, 200, 232],
        [196, 221, 241],
        [108, 149, 70],
        [63, 54, 27],
        [137, 164, 178],
    ],
    [
        [248, 183, 74],
        [200, 127, 90],
        [248, 241, 216],
        [255, 241, 112],
        [180, 165, 120],
        [149, 115, 68],
        [247, 247, 204],
        [188, 204, 226],
        [121, 174, 208],
    ],
    [
        [106, 160, 214],
        [128, 139, 196],
        [166, 107, 165],
        [230, 200, 223],
        [194, 181, 216],
        [220, 216, 223],
        [212, 227, 165],
        [155, 151, 161],
        [106, 92, 166],
    ],
    [
        [176, 175, 215],
        [219, 196, 222],
        [199, 205, 232],
        [2, 77, 98],
        [164, 214, 193],
        [166, 211, 162],
        [252, 233, 234],
        [122, 119, 176],
        [89, 96, 164],
    ],
    [
        [20, 13, 74],
        [76, 57, 108],
        [158, 157, 205],
        [76, 182, 121],
        [232, 56, 57],
        [249, 194, 112],
        [254, 247, 246],
        [115, 55, 145],
        [194, 194, 225],
    ],
    [
        [170, 206, 63],
        [79, 166, 88],
        [213, 92, 157],
        [231, 169, 203],
        [247, 237, 244],
        [247, 247, 198],
        [250, 240, 99],
        [148, 193, 169],
        [0, 149, 128],
    ],
    [
        [0, 98, 177],
        [0, 59, 144],
        [4, 34, 117],
        [252, 252, 250],
        [234, 238, 240],
        [188, 207, 213],
        [132, 175, 201],
        [83, 109, 154],
        [196, 193, 199],
    ],
    [
        [255, 245, 113],
        [255, 229, 109],
        [205, 177, 108],
        [176, 204, 133],
        [217, 227, 103],
        [123, 168, 134],
        [224, 241, 244],
        [144, 188, 215],
        [147, 188, 164],
    ],
    [
        [218, 205, 139],
        [174, 154, 107],
        [92, 118, 100],
        [0, 126, 118],
        [248, 246, 222],
        [230, 224, 196],
        [85, 125, 62],
        [73, 49, 60],
        [235, 92, 50],
    ],
    [
        [235, 230, 237],
        [213, 206, 220],
        [178, 177, 187],
        [243, 174, 204],
        [200, 139, 169],
        [231, 214, 222],
        [114, 126, 154],
        [118, 102, 141],
        [185, 157, 185],
    ],
    [
        [245, 230, 151],
        [245, 219, 105],
        [241, 223, 231],
        [225, 163, 195],
        [200, 110, 164],
        [238, 232, 130],
        [151, 183, 129],
        [68, 106, 77],
        [220, 221, 221],
    ],
    [
        [234, 230, 192],
        [245, 243, 223],
        [253, 211, 92],
        [202, 162, 86],
        [100, 70, 48],
        [242, 233, 114],
        [54, 54, 98],
        [52, 55, 58],
        [196, 154, 114],
    ],
    [
        [211, 67, 88],
        [231, 131, 133],
        [225, 167, 140],
        [241, 143, 105],
        [145, 172, 72],
        [216, 213, 112],
        [86, 96, 70],
        [147, 92, 105],
        [150, 68, 70],
    ],
    [
        [237, 226, 216],
        [170, 159, 133],
        [138, 113, 90],
        [180, 119, 138],
        [131, 85, 95],
        [225, 120, 172],
        [98, 130, 73],
        [97, 53, 80],
        [98, 86, 49],
    ],
    [
        [149, 155, 169],
        [94, 101, 102],
        [211, 210, 191],
        [36, 49, 70],
        [62, 87, 112],
        [217, 117, 86],
        [241, 173, 95],
        [225, 198, 192],
        [224, 140, 122],
    ],
    [
        [215, 16, 113],
        [181, 82, 128],
        [246, 239, 242],
        [209, 47, 72],
        [235, 230, 182],
        [234, 191, 118],
        [255, 253, 232],
        [101, 147, 84],
        [231, 238, 243],
    ],
    [
        [226, 69, 31],
        [231, 117, 52],
        [189, 53, 41],
        [244, 164, 88],
        [190, 150, 110],
        [249, 241, 236],
        [198, 175, 142],
        [158, 140, 115],
        [94, 77, 54],
    ],
    [
        [244, 246, 241],
        [242, 243, 234],
        [220, 221, 210],
        [87, 98, 105],
        [135, 121, 109],
        [202, 196, 172],
        [57, 51, 44],
        [197, 151, 99],
        [148, 100, 83],
    ],
    [
        [183, 191, 142],
        [105, 108, 117],
        [231, 229, 205],
        [254, 245, 238],
        [249, 248, 249],
        [149, 166, 156],
        [227, 205, 186],
        [231, 213, 88],
        [75, 112, 67],
    ],
    [
        [241, 143, 96],
        [251, 240, 198],
        [252, 231, 88],
        [167, 169, 148],
        [151, 131, 93],
        [226, 215, 168],
        [52, 60, 28],
        [82, 76, 31],
        [206, 49, 8],
    ],
    [
        [208, 219, 225],
        [168, 187, 208],
        [134, 160, 190],
        [248, 240, 158],
        [234, 237, 239],
        [144, 139, 98],
        [181, 177, 168],
        [143, 139, 122],
        [97, 93, 66],
    ],
    [
        [205, 224, 136],
        [142, 186, 112],
        [102, 177, 79],
        [187, 211, 97],
        [161, 163, 104],
        [192, 214, 207],
        [237, 241, 187],
        [212, 207, 160],
        [241, 239, 219],
    ],
    [
        [232, 240, 235],
        [219, 211, 229],
        [188, 207, 228],
        [200, 210, 221],
        [233, 229, 219],
        [214, 219, 224],
        [65, 92, 126],
        [89, 107, 128],
        [161, 168, 156],
    ],
    [
        [234, 242, 246],
        [211, 215, 217],
        [111, 131, 150],
        [103, 103, 130],
        [110, 123, 179],
        [126, 168, 210],
        [183, 178, 204],
        [189, 155, 183],
        [110, 93, 136],
    ],
    [
        [121, 107, 175],
        [165, 154, 202],
        [207, 208, 193],
        [218, 221, 206],
        [236, 244, 223],
        [237, 241, 176],
        [113, 156, 115],
        [160, 206, 119],
        [166, 116, 176],
    ],
    [
        [65, 102, 172],
        [49, 144, 185],
        [39, 137, 108],
        [58, 172, 173],
        [177, 219, 207],
        [174, 211, 161],
        [113, 183, 132],
        [167, 165, 147],
        [226, 225, 203],
    ],
    [
        [69, 126, 169],
        [127, 168, 202],
        [204, 224, 244],
        [131, 142, 124],
        [109, 120, 51],
        [51, 102, 43],
        [219, 212, 184],
        [212, 188, 149],
        [157, 149, 132],
    ],
    [
        [39, 43, 87],
        [38, 55, 130],
        [84, 122, 170],
        [200, 211, 221],
        [79, 94, 117],
        [45, 44, 45],
        [233, 77, 71],
        [237, 111, 0],
        [251, 203, 114],
    ],
    [
        [220, 230, 212],
        [164, 178, 155],
        [112, 116, 109],
        [191, 193, 157],
        [241, 248, 252],
        [181, 193, 113],
        [204, 219, 240],
        [111, 148, 205],
        [46, 93, 149],
    ],
    [
        [243, 226, 207],
        [227, 205, 186],
        [255, 252, 242],
        [227, 240, 250],
        [190, 204, 221],
        [157, 174, 189],
        [193, 185, 179],
        [154, 139, 125],
        [123, 97, 84],
    ],
    [
        [243, 244, 225],
        [166, 205, 187],
        [154, 150, 150],
        [170, 119, 84],
        [148, 129, 83],
        [111, 113, 87],
        [101, 54, 49],
        [222, 212, 100],
        [158, 93, 84],
    ],
    [
        [128, 158, 202],
        [205, 220, 228],
        [68, 111, 165],
        [239, 216, 131],
        [118, 157, 177],
        [31, 59, 82],
        [97, 91, 84],
        [235, 97, 87],
        [233, 222, 207],
    ],
    [
        [157, 170, 189],
        [162, 190, 202],
        [231, 238, 243],
        [249, 244, 238],
        [242, 237, 226],
        [192, 184, 176],
        [76, 91, 102],
        [185, 139, 105],
        [85, 63, 43],
    ],
    [
        [202, 157, 91],
        [234, 187, 113],
        [167, 139, 102],
        [183, 164, 123],
        [210, 188, 142],
        [130, 113, 84],
        [224, 241, 241],
        [188, 220, 233],
        [124, 185, 215],
    ],
    [
        [185, 188, 176],
        [230, 230, 230],
        [177, 196, 203],
        [201, 202, 202],
        [159, 160, 160],
        [89, 87, 87],
        [54, 82, 110],
        [53, 108, 156],
        [66, 123, 191],
    ],
    [
        [255, 235, 124],
        [250, 240, 99],
        [226, 237, 186],
        [203, 213, 109],
        [144, 186, 111],
        [117, 151, 134],
        [180, 216, 214],
        [187, 212, 239],
        [130, 173, 211],
    ],
    [
        [234, 85, 75],
        [82, 177, 187],
        [251, 203, 103],
        [175, 98, 154],
        [192, 184, 95],
        [159, 192, 141],
        [179, 120, 85],
        [150, 205, 196],
        [134, 107, 49],
    ],
    [
        [0, 165, 213],
        [89, 195, 225],
        [161, 216, 225],
        [76, 187, 180],
        [134, 202, 182],
        [230, 229, 215],
        [91, 164, 105],
        [250, 238, 222],
        [247, 242, 244],
    ],
    [
        [253, 237, 82],
        [251, 220, 53],
        [227, 189, 58],
        [251, 236, 165],
        [230, 221, 135],
        [221, 203, 107],
        [190, 172, 91],
        [147, 132, 102],
        [118, 94, 55],
    ],
    [
        [123, 159, 211],
        [143, 181, 224],
        [187, 208, 236],
        [235, 240, 243],
        [222, 231, 245],
        [204, 224, 244],
        [74, 148, 191],
        [37, 92, 142],
        [88, 86, 35],
    ],
    [
        [198, 183, 217],
        [166, 111, 167],
        [131, 92, 143],
        [242, 226, 238],
        [209, 172, 175],
        [174, 150, 165],
        [205, 200, 185],
        [211, 177, 141],
        [151, 129, 127],
    ],
    [
        [167, 55, 106],
        [196, 117, 144],
        [219, 78, 120],
        [221, 107, 71],
        [234, 153, 135],
        [229, 185, 147],
        [212, 62, 113],
        [125, 0, 74],
        [117, 55, 64],
    ],
    [
        [252, 229, 232],
        [251, 224, 216],
        [238, 185, 175],
        [227, 213, 192],
        [253, 237, 228],
        [251, 230, 239],
        [206, 172, 155],
        [179, 173, 138],
        [144, 160, 125],
    ],
    [
        [218, 65, 72],
        [208, 15, 49],
        [165, 26, 41],
        [79, 53, 39],
        [68, 81, 54],
        [33, 22, 10],
        [255, 240, 193],
        [240, 208, 129],
        [231, 168, 73],
    ],
    [
        [248, 247, 240],
        [245, 243, 223],
        [246, 227, 231],
        [230, 203, 219],
        [228, 243, 245],
        [181, 223, 226],
        [221, 220, 214],
        [151, 202, 208],
        [209, 169, 188],
    ],
    [
        [225, 238, 203],
        [242, 246, 218],
        [241, 217, 132],
        [255, 247, 140],
        [222, 212, 103],
        [249, 250, 251],
        [186, 160, 0],
        [198, 174, 130],
        [103, 96, 12],
    ],
    [
        [234, 77, 21],
        [241, 142, 29],
        [248, 182, 52],
        [213, 155, 63],
        [253, 212, 110],
        [255, 252, 213],
        [255, 254, 240],
        [219, 84, 45],
        [168, 69, 54],
    ],
    [
        [250, 246, 222],
        [238, 240, 160],
        [204, 226, 168],
        [236, 244, 227],
        [252, 223, 197],
        [245, 217, 222],
        [233, 181, 197],
        [132, 204, 204],
        [166, 212, 166],
    ],
    [
        [227, 233, 242],
        [98, 144, 177],
        [175, 212, 230],
        [160, 216, 239],
        [158, 200, 209],
        [96, 154, 161],
        [112, 123, 153],
        [153, 166, 177],
        [239, 227, 233],
    ],
    [
        [184, 27, 48],
        [17, 6, 10],
        [206, 182, 88],
        [202, 70, 73],
        [78, 73, 82],
        [220, 210, 169],
        [105, 0, 34],
        [215, 210, 220],
        [115, 79, 135],
    ],
    [
        [227, 236, 244],
        [112, 148, 192],
        [56, 90, 158],
        [234, 235, 235],
        [212, 212, 211],
        [51, 49, 115],
        [232, 211, 207],
        [204, 104, 117],
        [164, 125, 90],
    ],
    [
        [122, 116, 124],
        [223, 210, 223],
        [20, 45, 41],
        [174, 124, 103],
        [198, 199, 206],
        [247, 185, 129],
        [232, 109, 116],
        [245, 243, 238],
        [229, 83, 107],
    ],
    [
        [181, 193, 112],
        [134, 160, 38],
        [92, 110, 47],
        [148, 161, 96],
        [205, 210, 116],
        [216, 199, 140],
        [103, 73, 54],
        [220, 95, 105],
        [226, 69, 68],
    ],
    [
        [254, 251, 245],
        [251, 251, 253],
        [245, 232, 200],
        [225, 194, 162],
        [231, 241, 232],
        [217, 203, 145],
        [138, 91, 89],
        [208, 112, 87],
        [221, 176, 110],
    ],
    [
        [160, 116, 63],
        [254, 228, 173],
        [247, 226, 110],
        [106, 189, 121],
        [229, 126, 71],
        [107, 78, 53],
        [235, 97, 72],
        [252, 249, 227],
        [81, 79, 75],
    ],
    [
        [105, 186, 223],
        [162, 208, 232],
        [66, 138, 184],
        [248, 246, 231],
        [223, 234, 241],
        [0, 139, 94],
        [151, 206, 162],
        [53, 109, 181],
        [166, 132, 122],
    ],
    [
        [173, 128, 175],
        [246, 237, 67],
        [244, 159, 58],
        [78, 191, 213],
        [232, 68, 126],
        [182, 212, 88],
        [250, 250, 245],
        [83, 78, 138],
        [3, 20, 43],
    ],
]


swatches = []
for swatch_255 in swatches_255:
    swatch = []
    for color in swatch_255:
        swatch.append([color[0] / 255, color[1] / 255, color[2] / 255])
    swatches.append(swatch)


[docs] def random_swatch(): """Return a random swatch.""" return swatches[randint(0, 83)]