Commit c35d34ad06873efb63a51a03f155e843bd842d3f
1 parent
7357e74e
Exists in
master
Corrige inserção de frames no movimento circular
Showing
3 changed files
with
109 additions
and
99 deletions
Show diff stats
libras.py
@@ -79,7 +79,7 @@ def get_endFrame(): | @@ -79,7 +79,7 @@ def get_endFrame(): | ||
79 | 79 | ||
80 | initialFrame, endFrame = 15, get_endFrame() | 80 | initialFrame, endFrame = 15, get_endFrame() |
81 | 81 | ||
82 | -def circular_or_semiCircular(pose, orientation, direction, radius, laps, intensity = 5, initialFrame = 15): | 82 | +def circular_or_semiCircular(pose, orientation, direction, radius, laps, intensity = 10, initialFrame = 18): |
83 | center = pose.location.x, pose.location.y, pose.location.z | 83 | center = pose.location.x, pose.location.y, pose.location.z |
84 | if(orientation == 'perpendicular'): | 84 | if(orientation == 'perpendicular'): |
85 | if(direction == 'horario'): | 85 | if(direction == 'horario'): |
@@ -91,6 +91,11 @@ def circular_or_semiCircular(pose, orientation, direction, radius, laps, intensi | @@ -91,6 +91,11 @@ def circular_or_semiCircular(pose, orientation, direction, radius, laps, intensi | ||
91 | endFrame = moves.locationCircular(center, radius, 1, 2, 0, pose, 0, laps, intensity, initialFrame) | 91 | endFrame = moves.locationCircular(center, radius, 1, 2, 0, pose, 0, laps, intensity, initialFrame) |
92 | else: | 92 | else: |
93 | endFrame = moves.locationCircular(center, radius, 2, 1, 0, pose, 0, laps, intensity, initialFrame) | 93 | endFrame = moves.locationCircular(center, radius, 2, 1, 0, pose, 0, laps, intensity, initialFrame) |
94 | + elif(orientation == 'plano'): | ||
95 | + if(direction == 'horario'): | ||
96 | + endFrame = moves.locationCircular(center, radius, 2, 0, 1, pose, 0, laps, intensity, initialFrame) | ||
97 | + else: | ||
98 | + endFrame = moves.locationCircular(center, radius, 0, 2, 1, pose, 0, laps, intensity, initialFrame) | ||
94 | return endFrame | 99 | return endFrame |
95 | 100 | ||
96 | 101 | ||
@@ -125,9 +130,10 @@ def configureFace(): | @@ -125,9 +130,10 @@ def configureFace(): | ||
125 | global endFrame | 130 | global endFrame |
126 | if(json_input["facialExp"] != []): | 131 | if(json_input["facialExp"] != []): |
127 | # Set face | 132 | # Set face |
128 | - faceConfiguration(json_input["facialExp"], [endFrame/2], util.faceBonesConf) | 133 | + faceConfiguration(json_input["facialExp"], [endFrame/4], util.faceBonesConf) |
129 | 134 | ||
130 | # Default Pose | 135 | # Default Pose |
136 | + | ||
131 | poseDefault([1, endFrame+15], util.allBones) | 137 | poseDefault([1, endFrame+15], util.allBones) |
132 | configureHands() | 138 | configureHands() |
133 | configureFace() | 139 | configureFace() |
moves.py
1 | # -*- coding: UTF-8 -*- | 1 | # -*- coding: UTF-8 -*- |
2 | import math | 2 | import math |
3 | 3 | ||
4 | -def locationCircular(center, radius, i_axis, j_axis, k_axis, pose, initialPosition, laps, frameJump = 10, initialFrame = 15, turn = None): | ||
5 | - sqrt22 = radius * (math.sqrt(2) / 2) | ||
6 | - rad2 = (radius/2) | ||
7 | - currentFrame = initialFrame | ||
8 | - for l in range(initialPosition, initialPosition + math.floor(8 * laps) + 1): | ||
9 | - if ((l % 8) == 0 ): | ||
10 | - pose.location[i_axis] = center[i_axis] + radius | ||
11 | - pose.location[j_axis] = center[j_axis] | ||
12 | - pose.location[k_axis] = center[k_axis] | ||
13 | - pose.keyframe_insert(frame = currentFrame, index = -1, data_path = 'location') | ||
14 | - currentFrame += frameJump | ||
15 | - if ((l % 8) == 1): | 4 | +def locationCircular(center, radius, i_axis, j_axis, k_axis, pose, initialPosition, laps, frameJump = 10, initialFrame = 18, turn = None): |
5 | + sqrt22 = radius * (math.sqrt(2) / 2) | ||
6 | + rad2 = (radius/2) | ||
7 | + currentFrame = initialFrame | ||
8 | + for l in range(initialPosition, initialPosition + math.floor(8 * laps) + 1): | ||
9 | + if ((l % 8) == 0 ): | ||
10 | + pose.location[i_axis] = center[i_axis] + radius | ||
11 | + pose.location[j_axis] = center[j_axis] | ||
12 | + pose.location[k_axis] = center[k_axis] | ||
13 | + pose.keyframe_insert(frame = currentFrame, index = -1, data_path = 'location') | ||
14 | + currentFrame += frameJump | ||
15 | + if ((l % 8) == 1): | ||
16 | + pose.location[i_axis] = center[i_axis] + sqrt22 | ||
17 | + pose.location[j_axis] = center[j_axis] + sqrt22 | ||
18 | + pose.location[k_axis] = center[k_axis] | ||
19 | + if(turn == 1): | ||
16 | pose.location[i_axis] = center[i_axis] + sqrt22 | 20 | pose.location[i_axis] = center[i_axis] + sqrt22 |
21 | + pose.location[j_axis] = center[j_axis] + rad2 | ||
22 | + pose.location[k_axis] = center[k_axis] - rad2 | ||
23 | + elif(turn == -1): | ||
24 | + pose.location[i_axis] = center[i_axis] + sqrt22 | ||
25 | + pose.location[j_axis] = center[j_axis] + rad2 | ||
26 | + pose.location[k_axis] = center[k_axis] + rad2 | ||
27 | + pose.keyframe_insert(frame = initialPosition, index = -1, data_path = 'location') | ||
28 | + currentFrame += frameJump | ||
29 | + if ((l % 8) == 2): | ||
30 | + pose.location[i_axis] = center[i_axis] | ||
31 | + pose.location[j_axis] = center[j_axis] + radius | ||
32 | + pose.location[k_axis] = center[k_axis] | ||
33 | + if(turn == 1): | ||
17 | pose.location[j_axis] = center[j_axis] + sqrt22 | 34 | pose.location[j_axis] = center[j_axis] + sqrt22 |
18 | - pose.location[k_axis] = center[k_axis] | ||
19 | - if(turn == 1): | ||
20 | - pose.location[i_axis] = center[i_axis] + sqrt22 | ||
21 | - pose.location[j_axis] = center[j_axis] + rad2 | ||
22 | - pose.location[k_axis] = center[k_axis] - rad2 | ||
23 | - elif(turn == -1): | ||
24 | - pose.location[i_axis] = center[i_axis] + sqrt22 | ||
25 | - pose.location[j_axis] = center[j_axis] + rad2 | ||
26 | - pose.location[k_axis] = center[k_axis] + rad2 | ||
27 | - pose.keyframe_insert(frame = initialPosition, index = -1, data_path = 'location') | ||
28 | - currentFrame += frameJump | ||
29 | - if ((l % 8) == 2): | ||
30 | - pose.location[i_axis] = center[i_axis] | ||
31 | - pose.location[j_axis] = center[j_axis] + radius | ||
32 | - pose.location[k_axis] = center[k_axis] | ||
33 | - if(turn == 1): | ||
34 | - pose.location[j_axis] = center[j_axis] + sqrt22 | ||
35 | - pose.location[k_axis] = center[k_axis] - sqrt22 | ||
36 | - elif(turn == -1): | ||
37 | - pose.location[j_axis] = center[j_axis] + sqrt22 | ||
38 | - pose.location[k_axis] = center[k_axis] + sqrt22 | ||
39 | - pose.keyframe_insert(frame = initialPosition, index = -1, data_path = 'location') | ||
40 | - currentFrame += frameJump | ||
41 | - if ((l % 8) == 3): | ||
42 | - pose.location[i_axis] = center[i_axis] - sqrt22 | 35 | + pose.location[k_axis] = center[k_axis] - sqrt22 |
36 | + elif(turn == -1): | ||
43 | pose.location[j_axis] = center[j_axis] + sqrt22 | 37 | pose.location[j_axis] = center[j_axis] + sqrt22 |
44 | - pose.location[k_axis] = center[k_axis] | ||
45 | - if(turn == 1): | ||
46 | - pose.location[i_axis] = center[i_axis] - sqrt22 | ||
47 | - pose.location[j_axis] = center[j_axis] + rad2 | ||
48 | - pose.location[k_axis] = center[k_axis] - rad2 | ||
49 | - elif(turn == -1): | ||
50 | - pose.location[i_axis] = center[i_axis] - sqrt22 | ||
51 | - pose.location[j_axis] = center[j_axis] + rad2 | ||
52 | - pose.location[k_axis] = center[k_axis] + rad2 | ||
53 | - pose.keyframe_insert(frame = currentFrame, index = -1, data_path = 'location') | ||
54 | - currentFrame += frameJump | ||
55 | - | ||
56 | - if ((l % 8) == 4): | ||
57 | - pose.location[i_axis] = center[i_axis] - radius | ||
58 | - pose.location[j_axis] = center[j_axis] | ||
59 | - pose.location[k_axis] = center[k_axis] | ||
60 | - pose.keyframe_insert(frame = currentFrame, index = -1, data_path = 'location') | ||
61 | - currentFrame += frameJump | ||
62 | - | ||
63 | - if ((l % 8) == 5): | 38 | + pose.location[k_axis] = center[k_axis] + sqrt22 |
39 | + pose.keyframe_insert(frame = initialPosition, index = -1, data_path = 'location') | ||
40 | + currentFrame += frameJump | ||
41 | + if ((l % 8) == 3): | ||
42 | + pose.location[i_axis] = center[i_axis] - sqrt22 | ||
43 | + pose.location[j_axis] = center[j_axis] + sqrt22 | ||
44 | + pose.location[k_axis] = center[k_axis] | ||
45 | + if(turn == 1): | ||
46 | + pose.location[i_axis] = center[i_axis] - sqrt22 | ||
47 | + pose.location[j_axis] = center[j_axis] + rad2 | ||
48 | + pose.location[k_axis] = center[k_axis] - rad2 | ||
49 | + elif(turn == -1): | ||
50 | + pose.location[i_axis] = center[i_axis] - sqrt22 | ||
51 | + pose.location[j_axis] = center[j_axis] + rad2 | ||
52 | + pose.location[k_axis] = center[k_axis] + rad2 | ||
53 | + pose.keyframe_insert(frame = currentFrame, index = -1, data_path = 'location') | ||
54 | + currentFrame += frameJump | ||
55 | + | ||
56 | + if ((l % 8) == 4): | ||
57 | + pose.location[i_axis] = center[i_axis] - radius | ||
58 | + pose.location[j_axis] = center[j_axis] | ||
59 | + pose.location[k_axis] = center[k_axis] | ||
60 | + pose.keyframe_insert(frame = currentFrame, index = -1, data_path = 'location') | ||
61 | + currentFrame += frameJump | ||
62 | + | ||
63 | + if ((l % 8) == 5): | ||
64 | + pose.location[i_axis] = center[i_axis] - sqrt22 | ||
65 | + pose.location[j_axis] = center[j_axis] - sqrt22 | ||
66 | + pose.location[k_axis] = center[k_axis] | ||
67 | + if(turn == 1): | ||
64 | pose.location[i_axis] = center[i_axis] - sqrt22 | 68 | pose.location[i_axis] = center[i_axis] - sqrt22 |
69 | + pose.location[j_axis] = center[j_axis] - rad2 | ||
70 | + pose.location[k_axis] = center[k_axis] + rad2 | ||
71 | + elif(turn == -1): | ||
72 | + pose.location[i_axis] = center[i_axis] - sqrt22 | ||
73 | + pose.location[j_axis] = center[j_axis] - ray2 | ||
74 | + pose.location[k_axis] = center[k_axis] - ray2 | ||
75 | + pose.keyframe_insert(frame = currentFrame, index = -1, data_path = 'location') | ||
76 | + currentFrame += frameJump | ||
77 | + | ||
78 | + if ((l % 8) == 6): | ||
79 | + pose.location[i_axis] = center[i_axis] | ||
80 | + pose.location[j_axis] = center[j_axis] - radius | ||
81 | + pose.location[k_axis] = center[k_axis] | ||
82 | + if(turn == 1): | ||
65 | pose.location[j_axis] = center[j_axis] - sqrt22 | 83 | pose.location[j_axis] = center[j_axis] - sqrt22 |
66 | - pose.location[k_axis] = center[k_axis] | ||
67 | - if(turn == 1): | ||
68 | - pose.location[i_axis] = center[i_axis] - sqrt22 | ||
69 | - pose.location[j_axis] = center[j_axis] - rad2 | ||
70 | - pose.location[k_axis] = center[k_axis] + rad2 | ||
71 | - elif(turn == -1): | ||
72 | - pose.location[i_axis] = center[i_axis] - sqrt22 | ||
73 | - pose.location[j_axis] = center[j_axis] - ray2 | ||
74 | - pose.location[k_axis] = center[k_axis] - ray2 | ||
75 | - pose.keyframe_insert(frame = currentFrame, index = -1, data_path = 'location') | ||
76 | - currentFrame += frameJump | ||
77 | - | ||
78 | - if ((l % 8) == 6): | ||
79 | - pose.location[i_axis] = center[i_axis] | ||
80 | - pose.location[j_axis] = center[j_axis] - radius | ||
81 | - pose.location[k_axis] = center[k_axis] | ||
82 | - if(turn == 1): | ||
83 | - pose.location[j_axis] = center[j_axis] - sqrt22 | ||
84 | - pose.location[k_axis] = center[k_axis] + sqrt22 | ||
85 | - elif(turn == -1): | ||
86 | - pose.location[j_axis] = center[j_axis] - sqrt22 | ||
87 | - pose.location[k_axis] = center[k_axis] - sqrt22 | ||
88 | - pose.keyframe_insert(frame = currentFrame, index = -1, data_path = 'location') | ||
89 | - currentFrame += frameJump | ||
90 | - | ||
91 | - if ((l % 8) == 7): | ||
92 | - pose.location[i_axis] = center[i_axis] + sqrt22 | 84 | + pose.location[k_axis] = center[k_axis] + sqrt22 |
85 | + elif(turn == -1): | ||
93 | pose.location[j_axis] = center[j_axis] - sqrt22 | 86 | pose.location[j_axis] = center[j_axis] - sqrt22 |
94 | - pose.location[k_axis] = center[k_axis] | ||
95 | - if(turn == 1): | ||
96 | - pose.location[i_axis] = center[i_axis] + sqrt22 | ||
97 | - pose.location[j_axis] = center[j_axis] - ray2 | ||
98 | - pose.location[k_axis] = center[k_axis] + ray2 | ||
99 | - elif(turn == -1): | ||
100 | - pose.location[i_axis] = center[i_axis] + sqrt22 | ||
101 | - pose.location[j_axis] = center[j_axis] - ray2 | ||
102 | - pose.location[k_axis] = center[k_axis] - ray2 | ||
103 | - pose.keyframe_insert(frame = currentFrame, index = -1, data_path = 'location') | ||
104 | - currentFrame += frameJump | ||
105 | - currentFrame -= frameJump | ||
106 | - return currentFrame | 87 | + pose.location[k_axis] = center[k_axis] - sqrt22 |
88 | + pose.keyframe_insert(frame = currentFrame, index = -1, data_path = 'location') | ||
89 | + currentFrame += frameJump | ||
90 | + | ||
91 | + if ((l % 8) == 7): | ||
92 | + pose.location[i_axis] = center[i_axis] + sqrt22 | ||
93 | + pose.location[j_axis] = center[j_axis] - sqrt22 | ||
94 | + pose.location[k_axis] = center[k_axis] | ||
95 | + if(turn == 1): | ||
96 | + pose.location[i_axis] = center[i_axis] + sqrt22 | ||
97 | + pose.location[j_axis] = center[j_axis] - ray2 | ||
98 | + pose.location[k_axis] = center[k_axis] + ray2 | ||
99 | + elif(turn == -1): | ||
100 | + pose.location[i_axis] = center[i_axis] + sqrt22 | ||
101 | + pose.location[j_axis] = center[j_axis] - ray2 | ||
102 | + pose.location[k_axis] = center[k_axis] - ray2 | ||
103 | + pose.keyframe_insert(frame = currentFrame, index = -1, data_path = 'location') | ||
104 | + currentFrame += frameJump | ||
105 | + currentFrame -= frameJump | ||
106 | + return currentFrame | ||
107 | 107 | ||
108 | 108 | ||
109 | # testing . . . | 109 | # testing . . . |
param.json
@@ -3,3 +3,7 @@ | @@ -3,3 +3,7 @@ | ||
3 | '{"userId": 4,"rightHand": ["pontual","conf_20","Ori_4","Pa_6"],"leftHand":["circular","perpendicular","horario",0.6,1,"conf_20","Ori_4","Pa_6"],"facialExp": "Exp_6","signName":"pontual_direita"}' | 3 | '{"userId": 4,"rightHand": ["pontual","conf_20","Ori_4","Pa_6"],"leftHand":["circular","perpendicular","horario",0.6,1,"conf_20","Ori_4","Pa_6"],"facialExp": "Exp_6","signName":"pontual_direita"}' |
4 | 4 | ||
5 | '{"userId": 4,"rightHand": ["semicircular","perpendicular","horario",0.6,0.5,"conf_20","Ori_4","Pa_6"],"leftHand":["pontual","conf_10","Ori_3","Pa_3"],"facialExp": "Exp_6","signName":"SemiCircular"}' | 5 | '{"userId": 4,"rightHand": ["semicircular","perpendicular","horario",0.6,0.5,"conf_20","Ori_4","Pa_6"],"leftHand":["pontual","conf_10","Ori_3","Pa_3"],"facialExp": "Exp_6","signName":"SemiCircular"}' |
6 | + | ||
7 | + | ||
8 | +'{"userId": 4,"rightHand":[],"leftHand":["circular","perpendicular","horario",1,2,10,24,10],"facialExp":[6],"signName":"circular mão esquerda"}' | ||
9 | + |