-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathemoji.py
84 lines (57 loc) · 1.91 KB
/
emoji.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import json
import numpy as np
import visualizer
from PIL import ImageColor
def hex_to_rgb(colors):
rgb = np.zeros((len(colors), len(colors[0]), len(colors[0, 0])), dtype=tuple)
for i in range(len(colors)):
for j in range(len(colors[i])):
for k in range(len(colors[i, j])):
rgb[i, j, k] = ImageColor.getcolor(colors[i, j, k], "RGB")
return rgb
def build_smile():
filename = 'json_data/sphere.json'
with open(filename) as reader:
data = json.load(reader)
voxels = np.array(data['voxels'])
colors = voxels.copy()
facecolors = np.where(colors, '#ffff00', '#000000')
# Глаза смайлика
facecolors[2, 1, 5] = '#0000ff'
facecolors[5, 1, 5] = '#0000ff'
# Улыбка
facecolors[5, 1, 2] = '#0000ff'
facecolors[4, 1, 1] = '#0000ff'
facecolors[3, 1, 1] = '#0000ff'
facecolors[2, 1, 2] = '#0000ff'
rgb_format = hex_to_rgb(facecolors)
input_data = {
'voxels': rgb_format.tolist()
}
with open('emojis/smile.json', 'w') as writer:
json.dump(input_data, writer)
visualizer.Cube_3D(voxels, facecolors)
def build_sad():
filename = 'json_data/sphere.json'
with open(filename) as reader:
data = json.load(reader)
voxels = np.array(data['voxels'])
colors = voxels.copy()
facecolors = np.where(colors, '#ffff00', '#000000')
# Глаза смайлика
facecolors[2, 1, 5] = '#0000ff'
facecolors[5, 1, 5] = '#0000ff'
# Улыбка
facecolors[5, 1, 1] = '#0000ff'
facecolors[4, 0, 2] = '#0000ff'
facecolors[3, 0, 2] = '#0000ff'
facecolors[2, 1, 1] = '#0000ff'
rgb_format = hex_to_rgb(facecolors)
input_data = {
'voxels': rgb_format.tolist()
}
with open('emojis/sad.json', 'w') as writer:
json.dump(input_data, writer)
visualizer.Cube_3D(voxels, facecolors)
build_smile()
build_sad()