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 | 79 | |
| 80 | 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 | 83 | center = pose.location.x, pose.location.y, pose.location.z |
| 84 | 84 | if(orientation == 'perpendicular'): |
| 85 | 85 | if(direction == 'horario'): |
| ... | ... | @@ -91,6 +91,11 @@ def circular_or_semiCircular(pose, orientation, direction, radius, laps, intensi |
| 91 | 91 | endFrame = moves.locationCircular(center, radius, 1, 2, 0, pose, 0, laps, intensity, initialFrame) |
| 92 | 92 | else: |
| 93 | 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 | 99 | return endFrame |
| 95 | 100 | |
| 96 | 101 | |
| ... | ... | @@ -125,9 +130,10 @@ def configureFace(): |
| 125 | 130 | global endFrame |
| 126 | 131 | if(json_input["facialExp"] != []): |
| 127 | 132 | # Set face |
| 128 | - faceConfiguration(json_input["facialExp"], [endFrame/2], util.faceBonesConf) | |
| 133 | + faceConfiguration(json_input["facialExp"], [endFrame/4], util.faceBonesConf) | |
| 129 | 134 | |
| 130 | 135 | # Default Pose |
| 136 | + | |
| 131 | 137 | poseDefault([1, endFrame+15], util.allBones) |
| 132 | 138 | configureHands() |
| 133 | 139 | configureFace() | ... | ... |
moves.py
| 1 | 1 | # -*- coding: UTF-8 -*- |
| 2 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 109 | # testing . . . | ... | ... |
param.json
| ... | ... | @@ -3,3 +3,7 @@ |
| 3 | 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 | 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 | + | ... | ... |