inscription ok
This commit is contained in:
parent
bcedd08dc8
commit
2382fa8043
|
@ -16,22 +16,27 @@
|
|||
|
||||
|
||||
<body>
|
||||
<div class = "canvas">
|
||||
<canvas id="canvas" width="1920" height="1080">
|
||||
Votre navigateur ne supporte pas les canvas, essayez-en un autre.
|
||||
</canvas>
|
||||
</div>
|
||||
|
||||
<div class = "canvas">
|
||||
<canvas id="canvas" width="1920" height="1080">
|
||||
Votre navigateur ne supporte pas les canvas, essayez-en un autre.
|
||||
</canvas>
|
||||
</div>
|
||||
|
||||
|
||||
<script src="/static/three.js"></script>
|
||||
<script src="/static/LoaderSupport.js"></script>
|
||||
<script src="/static/OBJLoader2.js"></script>
|
||||
<script src="/static/OrbitControls.js"></script>
|
||||
<script src="/static/fonctions_utiles.js"></script>
|
||||
<script src="/static/fonctions_choix_vues.js"></script>
|
||||
<script src="/static/fonctions_tuto.js"></script>
|
||||
<script src="/static/fonctions_inscription.js"></script>
|
||||
<script src="/static/fonctions_analyse.js"></script>
|
||||
<script src="/static/fonctions_fin.js"></script>
|
||||
<script src="/static/interface3D.js"></script>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"Analyse": {},
|
||||
"Interactions": [
|
||||
{
|
||||
"time": 1677933160714,
|
||||
"type": "start"
|
||||
},
|
||||
{
|
||||
"time": 1677933160753,
|
||||
"type": "Affichage Mesh random : dragon en idx_i, idx_j : (2, 3)"
|
||||
},
|
||||
{
|
||||
"time": 1677933160753,
|
||||
"type": "Affichage Mesh random : dragon en theta, delta : (-0.7853981633974483, 1.5707963267948966)"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"Analyse": {},
|
||||
"Interactions": [
|
||||
{
|
||||
"time": 1677933050608,
|
||||
"type": "start"
|
||||
},
|
||||
{
|
||||
"time": 1677933050631,
|
||||
"type": "Affichage Mesh random : dragon en idx_i, idx_j : (3, 0)"
|
||||
},
|
||||
{
|
||||
"time": 1677933050631,
|
||||
"type": "Affichage Mesh random : dragon en theta, delta : (1.5707963267948966, 2.356194490192345)"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"Analyse": {},
|
||||
"Interactions": [
|
||||
{
|
||||
"time": 1677933035767,
|
||||
"type": "start"
|
||||
},
|
||||
{
|
||||
"time": 1677933035927,
|
||||
"type": "Affichage Mesh random : dragon en idx_i, idx_j : (2, 0)"
|
||||
},
|
||||
{
|
||||
"time": 1677933035927,
|
||||
"type": "Affichage Mesh random : dragon en theta, delta : (1.5707963267948966, 1.5707963267948966)"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,114 @@
|
|||
{
|
||||
"tache_N1": {
|
||||
"obj_file": "dragon_update_user_study.obj",
|
||||
"mesh": "dragon",
|
||||
"position_init_idx_i": 4,
|
||||
"position_init_idx_j": 4,
|
||||
"theta_init": -1.5707963267948966,
|
||||
"delta_init": 3.141592653589793,
|
||||
"choix_poses": [
|
||||
[
|
||||
"choix1",
|
||||
-1.5707963267948966,
|
||||
2.356194490192345,
|
||||
3,
|
||||
4
|
||||
],
|
||||
[
|
||||
"choix2",
|
||||
-1.5707963267948966,
|
||||
1.5707963267948966,
|
||||
2,
|
||||
4
|
||||
],
|
||||
[
|
||||
"choix3",
|
||||
-1.5707963267948966,
|
||||
0.7853981633974483,
|
||||
1,
|
||||
4
|
||||
]
|
||||
]
|
||||
},
|
||||
"Analyse": {
|
||||
"analyse_N1": {
|
||||
"mesh": "dragon",
|
||||
"idx": [
|
||||
0
|
||||
],
|
||||
"mots": [
|
||||
"1. De face"
|
||||
]
|
||||
}
|
||||
},
|
||||
"Interactions": [
|
||||
{
|
||||
"time": 1677933651027,
|
||||
"type": "start"
|
||||
},
|
||||
{
|
||||
"time": 1677933651516,
|
||||
"type": "bouton commencerclavier"
|
||||
},
|
||||
{
|
||||
"time": 1677933651551,
|
||||
"type": "Affichage Mesh random : dragon en idx_i, idx_j : (4, 4)"
|
||||
},
|
||||
{
|
||||
"time": 1677933651551,
|
||||
"type": "Affichage Mesh random : dragon en theta, delta : (-1.5707963267948966, 3.141592653589793)"
|
||||
},
|
||||
{
|
||||
"time": 1677933652003,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677933652114,
|
||||
"type": "bouton pose n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677933652211,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677933652306,
|
||||
"type": "bouton pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677933652404,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677933652490,
|
||||
"type": "bouton pose n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677933652611,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677933652955,
|
||||
"type": "bouton valider"
|
||||
},
|
||||
{
|
||||
"time": 1677933652955,
|
||||
"type": "fin des choix."
|
||||
},
|
||||
{
|
||||
"time": 1677933652962,
|
||||
"type": "Début analyse n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677933654098,
|
||||
"type": "ajout check sur : analyse n°1, mot 1. De face"
|
||||
},
|
||||
{
|
||||
"time": 1677933654571,
|
||||
"type": "Bouton valider analyse."
|
||||
},
|
||||
{
|
||||
"time": 1677933654579,
|
||||
"type": "Fin analyse"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,174 @@
|
|||
{
|
||||
"identite": {
|
||||
"Firstname": "",
|
||||
"Name": "",
|
||||
"Age:": ""
|
||||
},
|
||||
"tache_N1": {
|
||||
"obj_file": "dragon_update_user_study.obj",
|
||||
"mesh": "dragon",
|
||||
"position_init_idx_i": 2,
|
||||
"position_init_idx_j": 2,
|
||||
"theta_init": 0,
|
||||
"delta_init": 1.5707963267948966,
|
||||
"choix_poses": [
|
||||
[
|
||||
"choix1",
|
||||
0,
|
||||
1.5707963267948966,
|
||||
2,
|
||||
2
|
||||
],
|
||||
[
|
||||
"choix2",
|
||||
0,
|
||||
0.7853981633974483,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
"choix3",
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
]
|
||||
]
|
||||
},
|
||||
"tache_N2": {
|
||||
"obj_file": "camel_update_user_study_normed.obj",
|
||||
"mesh": "camel",
|
||||
"position_init_idx_i": 5,
|
||||
"position_init_idx_j": 2,
|
||||
"theta_init": 0,
|
||||
"delta_init": 3.9269908169872414,
|
||||
"choix_poses": [
|
||||
[
|
||||
"choix1",
|
||||
0,
|
||||
3.9269908169872414,
|
||||
5,
|
||||
2
|
||||
],
|
||||
[
|
||||
"choix2",
|
||||
0,
|
||||
3.141592653589793,
|
||||
4,
|
||||
2
|
||||
],
|
||||
[
|
||||
"choix3",
|
||||
0,
|
||||
2.356194490192345,
|
||||
3,
|
||||
2
|
||||
]
|
||||
]
|
||||
},
|
||||
"Analyse": {
|
||||
"analyse_N1": {
|
||||
"mesh": "dragon",
|
||||
"idx": [
|
||||
0
|
||||
],
|
||||
"mots": [
|
||||
"1. De face"
|
||||
]
|
||||
}
|
||||
},
|
||||
"Interactions": [
|
||||
{
|
||||
"time": 1677942867337,
|
||||
"type": "start"
|
||||
},
|
||||
{
|
||||
"time": 1677942868455,
|
||||
"type": "bouton commencerclavier"
|
||||
},
|
||||
{
|
||||
"time": 1677942868519,
|
||||
"type": "Affichage Mesh random : dragon en idx_i, idx_j : (2, 2)"
|
||||
},
|
||||
{
|
||||
"time": 1677942868519,
|
||||
"type": "Affichage Mesh random : dragon en theta, delta : (0, 1.5707963267948966)"
|
||||
},
|
||||
{
|
||||
"time": 1677942869968,
|
||||
"type": "bouton pose n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677942870097,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677942870223,
|
||||
"type": "bouton pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677942870287,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677942870407,
|
||||
"type": "bouton pose n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677942870731,
|
||||
"type": "bouton valider"
|
||||
},
|
||||
{
|
||||
"time": 1677942870769,
|
||||
"type": "Affichage Mesh random : camel en idx_i, idx_j : (5, 2)"
|
||||
},
|
||||
{
|
||||
"time": 1677942870769,
|
||||
"type": "Affichage Mesh random : camel en theta, delta : (0, 3.9269908169872414)"
|
||||
},
|
||||
{
|
||||
"time": 1677942871471,
|
||||
"type": "bouton pose n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677942871553,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677942871655,
|
||||
"type": "bouton pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677942871718,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677942871832,
|
||||
"type": "bouton pose n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677942872039,
|
||||
"type": "bouton valider"
|
||||
},
|
||||
{
|
||||
"time": 1677942872039,
|
||||
"type": "fin des choix."
|
||||
},
|
||||
{
|
||||
"time": 1677942872043,
|
||||
"type": "Début analyse n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677942872471,
|
||||
"type": "ajout check sur : analyse n°1, mot 1. De face"
|
||||
},
|
||||
{
|
||||
"time": 1677942872664,
|
||||
"type": "Bouton valider analyse."
|
||||
},
|
||||
{
|
||||
"time": 1677942872677,
|
||||
"type": "Fin analyse"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,198 @@
|
|||
{
|
||||
"identite": {
|
||||
"Firstname": "marie",
|
||||
"Name": "peliss",
|
||||
"Age:": "12"
|
||||
},
|
||||
"tache_N1": {
|
||||
"obj_file": "dragon_update_user_study.obj",
|
||||
"mesh": "dragon",
|
||||
"position_init_idx_i": 4,
|
||||
"position_init_idx_j": 1,
|
||||
"theta_init": 0.7853981633974483,
|
||||
"delta_init": 3.141592653589793,
|
||||
"choix_poses": [
|
||||
[
|
||||
"choix1",
|
||||
0.7853981633974483,
|
||||
3.141592653589793,
|
||||
4,
|
||||
1
|
||||
],
|
||||
[
|
||||
"choix2",
|
||||
0.7853981633974483,
|
||||
2.356194490192345,
|
||||
3,
|
||||
1
|
||||
],
|
||||
[
|
||||
"choix3",
|
||||
0.7853981633974483,
|
||||
1.5707963267948966,
|
||||
2,
|
||||
1
|
||||
]
|
||||
]
|
||||
},
|
||||
"tache_N2": {
|
||||
"obj_file": "camel_update_user_study_normed.obj",
|
||||
"mesh": "camel",
|
||||
"position_init_idx_i": 5,
|
||||
"position_init_idx_j": 4,
|
||||
"theta_init": -1.5707963267948966,
|
||||
"delta_init": 3.9269908169872414,
|
||||
"choix_poses": [
|
||||
[
|
||||
"choix1",
|
||||
-1.5707963267948966,
|
||||
3.9269908169872414,
|
||||
5,
|
||||
4
|
||||
],
|
||||
[
|
||||
"choix2",
|
||||
-1.5707963267948966,
|
||||
3.141592653589793,
|
||||
4,
|
||||
4
|
||||
],
|
||||
[
|
||||
"choix3",
|
||||
-1.5707963267948966,
|
||||
2.356194490192345,
|
||||
3,
|
||||
4
|
||||
]
|
||||
]
|
||||
},
|
||||
"Analyse": {
|
||||
"analyse_N1": {
|
||||
"mesh": "dragon",
|
||||
"idx": [
|
||||
0
|
||||
],
|
||||
"mots": [
|
||||
"1. De face"
|
||||
]
|
||||
}
|
||||
},
|
||||
"Interactions": [
|
||||
{
|
||||
"time": 1677942897472,
|
||||
"type": "start"
|
||||
},
|
||||
{
|
||||
"time": 1677942901527,
|
||||
"type": "bouton commencerclavier"
|
||||
},
|
||||
{
|
||||
"time": 1677942901586,
|
||||
"type": "Affichage Mesh random : dragon en idx_i, idx_j : (4, 1)"
|
||||
},
|
||||
{
|
||||
"time": 1677942901586,
|
||||
"type": "Affichage Mesh random : dragon en theta, delta : (0.7853981633974483, 3.141592653589793)"
|
||||
},
|
||||
{
|
||||
"time": 1677942903561,
|
||||
"type": "bouton pose n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677942903639,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677942903735,
|
||||
"type": "bouton pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677942903817,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677942903910,
|
||||
"type": "bouton pose n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677942904048,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677942904080,
|
||||
"type": "bouton pose n°4"
|
||||
},
|
||||
{
|
||||
"time": 1677942904080,
|
||||
"type": "Affichage error 3 déjà fait"
|
||||
},
|
||||
{
|
||||
"time": 1677942904527,
|
||||
"type": "bouton pose n°4"
|
||||
},
|
||||
{
|
||||
"time": 1677942904527,
|
||||
"type": "Affichage error 3 déjà fait"
|
||||
},
|
||||
{
|
||||
"time": 1677942905622,
|
||||
"type": "bouton valider"
|
||||
},
|
||||
{
|
||||
"time": 1677942905651,
|
||||
"type": "Affichage Mesh random : camel en idx_i, idx_j : (5, 4)"
|
||||
},
|
||||
{
|
||||
"time": 1677942905651,
|
||||
"type": "Affichage Mesh random : camel en theta, delta : (-1.5707963267948966, 3.9269908169872414)"
|
||||
},
|
||||
{
|
||||
"time": 1677942905895,
|
||||
"type": "bouton pose n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677942906559,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677942906638,
|
||||
"type": "bouton pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677942906734,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677942906814,
|
||||
"type": "bouton pose n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677942906947,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677942907530,
|
||||
"type": "bouton valider"
|
||||
},
|
||||
{
|
||||
"time": 1677942907530,
|
||||
"type": "fin des choix."
|
||||
},
|
||||
{
|
||||
"time": 1677942907542,
|
||||
"type": "Début analyse n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677942908262,
|
||||
"type": "ajout check sur : analyse n°1, mot 1. De face"
|
||||
},
|
||||
{
|
||||
"time": 1677942908471,
|
||||
"type": "Bouton valider analyse."
|
||||
},
|
||||
{
|
||||
"time": 1677942908475,
|
||||
"type": "Fin analyse"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,282 +0,0 @@
|
|||
{
|
||||
"tache_N1": {
|
||||
"obj_file": "dragon_update_user_study.obj",
|
||||
"mesh": "dragon",
|
||||
"position_init_idx_i": 5,
|
||||
"position_init_idx_j": 3,
|
||||
"theta_init": -0.7853981633974483,
|
||||
"delta_init": 3.9269908169872414,
|
||||
"choix_poses": [
|
||||
[
|
||||
"choix1",
|
||||
-0.7853981633974483,
|
||||
3.9269908169872414,
|
||||
5,
|
||||
3
|
||||
],
|
||||
[
|
||||
"choix2",
|
||||
-0.7853981633974483,
|
||||
3.141592653589793,
|
||||
4,
|
||||
3
|
||||
],
|
||||
[
|
||||
"choix3",
|
||||
-0.7853981633974483,
|
||||
2.356194490192345,
|
||||
3,
|
||||
3
|
||||
]
|
||||
]
|
||||
},
|
||||
"tache_N2": {
|
||||
"obj_file": "camel_update_user_study_normed.obj",
|
||||
"mesh": "camel",
|
||||
"position_init_idx_i": 2,
|
||||
"position_init_idx_j": 0,
|
||||
"theta_init": 1.5707963267948966,
|
||||
"delta_init": 1.5707963267948966,
|
||||
"choix_poses": [
|
||||
[
|
||||
"choix1",
|
||||
1.5707963267948966,
|
||||
1.5707963267948966,
|
||||
2,
|
||||
0
|
||||
],
|
||||
[
|
||||
"choix2",
|
||||
1.5707963267948966,
|
||||
0.7853981633974483,
|
||||
1,
|
||||
0
|
||||
],
|
||||
[
|
||||
"choix3",
|
||||
1.5707963267948966,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
]
|
||||
]
|
||||
},
|
||||
"tache_N3": {
|
||||
"obj_file": "gorgoile_update_user_study_centered_normed.obj",
|
||||
"mesh": "gorgoile",
|
||||
"position_init_idx_i": 1,
|
||||
"position_init_idx_j": 4,
|
||||
"theta_init": -1.5707963267948966,
|
||||
"delta_init": 0.7853981633974483,
|
||||
"choix_poses": [
|
||||
[
|
||||
"choix1",
|
||||
-1.5707963267948966,
|
||||
0.7853981633974483,
|
||||
1,
|
||||
4
|
||||
],
|
||||
[
|
||||
"choix2",
|
||||
-1.5707963267948966,
|
||||
0,
|
||||
0,
|
||||
4
|
||||
],
|
||||
[
|
||||
"choix3",
|
||||
-1.5707963267948966,
|
||||
5.497787143782138,
|
||||
7,
|
||||
4
|
||||
]
|
||||
]
|
||||
},
|
||||
"Analyse": {
|
||||
"analyse_N1": {
|
||||
"mesh": "dragon",
|
||||
"idx": [
|
||||
0
|
||||
],
|
||||
"mots": [
|
||||
"1. De face"
|
||||
]
|
||||
},
|
||||
"analyse_N2": {
|
||||
"mesh": "camel",
|
||||
"idx": [
|
||||
0
|
||||
],
|
||||
"mots": [
|
||||
"1. De face"
|
||||
]
|
||||
},
|
||||
"analyse_N3": {
|
||||
"mesh": "gorgoile",
|
||||
"idx": [
|
||||
0
|
||||
],
|
||||
"mots": [
|
||||
"1. De face"
|
||||
]
|
||||
}
|
||||
},
|
||||
"Interactions": [
|
||||
{
|
||||
"time": 1677871014699,
|
||||
"type": "start"
|
||||
},
|
||||
{
|
||||
"time": 1677871014724,
|
||||
"type": "Affichage Mesh random : dragon en idx_i, idx_j : (5, 3)"
|
||||
},
|
||||
{
|
||||
"time": 1677871014724,
|
||||
"type": "Affichage Mesh random : dragon en theta, delta : (-0.7853981633974483, 3.9269908169872414)"
|
||||
},
|
||||
{
|
||||
"time": 1677871015384,
|
||||
"type": "bouton commencerclavier"
|
||||
},
|
||||
{
|
||||
"time": 1677871016519,
|
||||
"type": "bouton pose n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677871016598,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677871016710,
|
||||
"type": "bouton pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677871016814,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677871016902,
|
||||
"type": "bouton pose n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677871017030,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677871017894,
|
||||
"type": "bouton valider"
|
||||
},
|
||||
{
|
||||
"time": 1677871017945,
|
||||
"type": "Affichage Mesh random : camel en idx_i, idx_j : (2, 0)"
|
||||
},
|
||||
{
|
||||
"time": 1677871017945,
|
||||
"type": "Affichage Mesh random : camel en theta, delta : (1.5707963267948966, 1.5707963267948966)"
|
||||
},
|
||||
{
|
||||
"time": 1677871018438,
|
||||
"type": "bouton pose n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677871018542,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677871018646,
|
||||
"type": "bouton pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677871018726,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677871018806,
|
||||
"type": "bouton pose n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677871018998,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677871019486,
|
||||
"type": "bouton valider"
|
||||
},
|
||||
{
|
||||
"time": 1677871019526,
|
||||
"type": "Affichage Mesh random : gorgoile en idx_i, idx_j : (1, 4)"
|
||||
},
|
||||
{
|
||||
"time": 1677871019526,
|
||||
"type": "Affichage Mesh random : gorgoile en theta, delta : (-1.5707963267948966, 0.7853981633974483)"
|
||||
},
|
||||
{
|
||||
"time": 1677871019926,
|
||||
"type": "bouton pose n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677871020030,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677871020150,
|
||||
"type": "bouton pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677871020246,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677871020334,
|
||||
"type": "bouton pose n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677871020950,
|
||||
"type": "bouton valider"
|
||||
},
|
||||
{
|
||||
"time": 1677871020950,
|
||||
"type": "fin des choix."
|
||||
},
|
||||
{
|
||||
"time": 1677871020951,
|
||||
"type": "Début analyse n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677871023750,
|
||||
"type": "ajout check sur : analyse n°1, mot 1. De face"
|
||||
},
|
||||
{
|
||||
"time": 1677871024262,
|
||||
"type": "Bouton valider analyse."
|
||||
},
|
||||
{
|
||||
"time": 1677871024262,
|
||||
"type": "Début analyse n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677871024735,
|
||||
"type": "ajout check sur : analyse n°2, mot 1. De face"
|
||||
},
|
||||
{
|
||||
"time": 1677871025006,
|
||||
"type": "Bouton valider analyse."
|
||||
},
|
||||
{
|
||||
"time": 1677871025006,
|
||||
"type": "Début analyse n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677871025358,
|
||||
"type": "ajout check sur : analyse n°3, mot 1. De face"
|
||||
},
|
||||
{
|
||||
"time": 1677871025678,
|
||||
"type": "Bouton valider analyse."
|
||||
},
|
||||
{
|
||||
"time": 1677871025684,
|
||||
"type": "Fin analyse"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,674 +0,0 @@
|
|||
{
|
||||
"tache_N1": {
|
||||
"obj_file": "dragon_update_user_study.obj",
|
||||
"mesh": "dragon",
|
||||
"position_init_idx_i": 5,
|
||||
"position_init_idx_j": 1,
|
||||
"theta_init": 0.7853981633974483,
|
||||
"delta_init": 3.9269908169872414,
|
||||
"choix_poses": [
|
||||
[
|
||||
"choix1",
|
||||
0.7853981633974483,
|
||||
2.356194490192345,
|
||||
3,
|
||||
1
|
||||
],
|
||||
[
|
||||
"choix3",
|
||||
0.7853981633974483,
|
||||
0.7853981633974483,
|
||||
1,
|
||||
1
|
||||
],
|
||||
[
|
||||
"choix3",
|
||||
0.7853981633974483,
|
||||
0,
|
||||
0,
|
||||
1
|
||||
]
|
||||
]
|
||||
},
|
||||
"tache_N2": {
|
||||
"obj_file": "camel_update_user_study_normed.obj",
|
||||
"mesh": "camel",
|
||||
"position_init_idx_i": 7,
|
||||
"position_init_idx_j": 2,
|
||||
"theta_init": 0,
|
||||
"delta_init": 5.497787143782138,
|
||||
"choix_poses": [
|
||||
[
|
||||
"choix1",
|
||||
0,
|
||||
5.497787143782138,
|
||||
7,
|
||||
2
|
||||
],
|
||||
[
|
||||
"choix2",
|
||||
0,
|
||||
4.71238898038469,
|
||||
6,
|
||||
2
|
||||
],
|
||||
[
|
||||
"choix3",
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
]
|
||||
]
|
||||
},
|
||||
"tache_N3": {
|
||||
"obj_file": "gorgoile_update_user_study_centered_normed.obj",
|
||||
"mesh": "gorgoile",
|
||||
"position_init_idx_i": 3,
|
||||
"position_init_idx_j": 0,
|
||||
"theta_init": 1.5707963267948966,
|
||||
"delta_init": 2.356194490192345,
|
||||
"choix_poses": [
|
||||
[
|
||||
"choix1",
|
||||
1.5707963267948966,
|
||||
2.356194490192345,
|
||||
3,
|
||||
0
|
||||
],
|
||||
[
|
||||
"choix2",
|
||||
1.5707963267948966,
|
||||
1.5707963267948966,
|
||||
2,
|
||||
0
|
||||
],
|
||||
[
|
||||
"choix3",
|
||||
1.5707963267948966,
|
||||
0.7853981633974483,
|
||||
1,
|
||||
0
|
||||
]
|
||||
]
|
||||
},
|
||||
"Analyse": {
|
||||
"analyse_N1": {
|
||||
"mesh": "dragon",
|
||||
"idx": [
|
||||
1
|
||||
],
|
||||
"mots": [
|
||||
"2. De profil"
|
||||
]
|
||||
},
|
||||
"analyse_N2": {
|
||||
"mesh": "camel",
|
||||
"idx": [
|
||||
1
|
||||
],
|
||||
"mots": [
|
||||
"2. De profil"
|
||||
]
|
||||
},
|
||||
"analyse_N3": {
|
||||
"mesh": "gorgoile",
|
||||
"idx": [
|
||||
2
|
||||
],
|
||||
"mots": [
|
||||
"3. Debout"
|
||||
]
|
||||
}
|
||||
},
|
||||
"Interactions": [
|
||||
{
|
||||
"time": 1677869301854,
|
||||
"type": "start"
|
||||
},
|
||||
{
|
||||
"time": 1677869301901,
|
||||
"type": "Affichage Mesh random : dragon en idx_i, idx_j : (5, 1)"
|
||||
},
|
||||
{
|
||||
"time": 1677869301902,
|
||||
"type": "Affichage Mesh random : dragon en theta, delta : (0.7853981633974483, 3.9269908169872414)"
|
||||
},
|
||||
{
|
||||
"time": 1677869337042,
|
||||
"type": "bouton commencerclavier"
|
||||
},
|
||||
{
|
||||
"time": 1677869344042,
|
||||
"type": "fleche haut"
|
||||
},
|
||||
{
|
||||
"time": 1677869344234,
|
||||
"type": "fleche haut"
|
||||
},
|
||||
{
|
||||
"time": 1677869344234,
|
||||
"type": "Affichage error à cause de fleche haut"
|
||||
},
|
||||
{
|
||||
"time": 1677869344506,
|
||||
"type": "fleche bas"
|
||||
},
|
||||
{
|
||||
"time": 1677869344826,
|
||||
"type": "fleche bas"
|
||||
},
|
||||
{
|
||||
"time": 1677869345050,
|
||||
"type": "fleche bas"
|
||||
},
|
||||
{
|
||||
"time": 1677869345226,
|
||||
"type": "fleche gauche"
|
||||
},
|
||||
{
|
||||
"time": 1677869345450,
|
||||
"type": "fleche gauche"
|
||||
},
|
||||
{
|
||||
"time": 1677869345690,
|
||||
"type": "fleche haut"
|
||||
},
|
||||
{
|
||||
"time": 1677869346026,
|
||||
"type": "fleche bas"
|
||||
},
|
||||
{
|
||||
"time": 1677869346282,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677869346538,
|
||||
"type": "fleche bas"
|
||||
},
|
||||
{
|
||||
"time": 1677869347018,
|
||||
"type": "fleche haut"
|
||||
},
|
||||
{
|
||||
"time": 1677869347178,
|
||||
"type": "fleche haut"
|
||||
},
|
||||
{
|
||||
"time": 1677869347386,
|
||||
"type": "fleche gauche"
|
||||
},
|
||||
{
|
||||
"time": 1677869347546,
|
||||
"type": "fleche gauche"
|
||||
},
|
||||
{
|
||||
"time": 1677869347706,
|
||||
"type": "fleche gauche"
|
||||
},
|
||||
{
|
||||
"time": 1677869347850,
|
||||
"type": "fleche gauche"
|
||||
},
|
||||
{
|
||||
"time": 1677869348002,
|
||||
"type": "fleche gauche"
|
||||
},
|
||||
{
|
||||
"time": 1677869348098,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677869348258,
|
||||
"type": "fleche bas"
|
||||
},
|
||||
{
|
||||
"time": 1677869348434,
|
||||
"type": "fleche bas"
|
||||
},
|
||||
{
|
||||
"time": 1677869348578,
|
||||
"type": "fleche bas"
|
||||
},
|
||||
{
|
||||
"time": 1677869348578,
|
||||
"type": "Affichage error à cause de fleche bas"
|
||||
},
|
||||
{
|
||||
"time": 1677869349162,
|
||||
"type": "fleche bas"
|
||||
},
|
||||
{
|
||||
"time": 1677869349162,
|
||||
"type": "Affichage error à cause de fleche bas"
|
||||
},
|
||||
{
|
||||
"time": 1677869349466,
|
||||
"type": "fleche bas"
|
||||
},
|
||||
{
|
||||
"time": 1677869349466,
|
||||
"type": "Affichage error à cause de fleche bas"
|
||||
},
|
||||
{
|
||||
"time": 1677869349738,
|
||||
"type": "fleche bas"
|
||||
},
|
||||
{
|
||||
"time": 1677869349738,
|
||||
"type": "Affichage error à cause de fleche bas"
|
||||
},
|
||||
{
|
||||
"time": 1677869350042,
|
||||
"type": "fleche bas"
|
||||
},
|
||||
{
|
||||
"time": 1677869350042,
|
||||
"type": "Affichage error à cause de fleche bas"
|
||||
},
|
||||
{
|
||||
"time": 1677869350298,
|
||||
"type": "fleche bas"
|
||||
},
|
||||
{
|
||||
"time": 1677869350298,
|
||||
"type": "Affichage error à cause de fleche bas"
|
||||
},
|
||||
{
|
||||
"time": 1677869350674,
|
||||
"type": "fleche haut"
|
||||
},
|
||||
{
|
||||
"time": 1677869350850,
|
||||
"type": "fleche haut"
|
||||
},
|
||||
{
|
||||
"time": 1677869351010,
|
||||
"type": "fleche haut"
|
||||
},
|
||||
{
|
||||
"time": 1677869351154,
|
||||
"type": "fleche haut"
|
||||
},
|
||||
{
|
||||
"time": 1677869351426,
|
||||
"type": "fleche haut"
|
||||
},
|
||||
{
|
||||
"time": 1677869351426,
|
||||
"type": "Affichage error à cause de fleche haut"
|
||||
},
|
||||
{
|
||||
"time": 1677869351634,
|
||||
"type": "fleche haut"
|
||||
},
|
||||
{
|
||||
"time": 1677869351634,
|
||||
"type": "Affichage error à cause de fleche haut"
|
||||
},
|
||||
{
|
||||
"time": 1677869352394,
|
||||
"type": "fleche bas"
|
||||
},
|
||||
{
|
||||
"time": 1677869352586,
|
||||
"type": "fleche bas"
|
||||
},
|
||||
{
|
||||
"time": 1677869353162,
|
||||
"type": "fleche gauche"
|
||||
},
|
||||
{
|
||||
"time": 1677869353386,
|
||||
"type": "fleche haut"
|
||||
},
|
||||
{
|
||||
"time": 1677869356386,
|
||||
"type": "bouton pose n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677869358378,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677869358826,
|
||||
"type": "fleche gauche"
|
||||
},
|
||||
{
|
||||
"time": 1677869359490,
|
||||
"type": "bouton pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677869359490,
|
||||
"type": "Affichage error pose déjà sélectionnée"
|
||||
},
|
||||
{
|
||||
"time": 1677869359714,
|
||||
"type": "bouton pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677869359714,
|
||||
"type": "Affichage error pose déjà sélectionnée"
|
||||
},
|
||||
{
|
||||
"time": 1677869361146,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677869361450,
|
||||
"type": "bouton pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677869362522,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677869362730,
|
||||
"type": "bouton pose n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677869364500,
|
||||
"type": "fleche switch bas de la pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677869365334,
|
||||
"type": "fleche switch haut de la pose n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677869366034,
|
||||
"type": "fleche switch haut de la pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677869367101,
|
||||
"type": "suppression de la pose n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677869368610,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677869368722,
|
||||
"type": "bouton pose n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677869370986,
|
||||
"type": "bouton valider"
|
||||
},
|
||||
{
|
||||
"time": 1677869371040,
|
||||
"type": "Affichage Mesh random : camel en idx_i, idx_j : (7, 2)"
|
||||
},
|
||||
{
|
||||
"time": 1677869371040,
|
||||
"type": "Affichage Mesh random : camel en theta, delta : (0, 5.497787143782138)"
|
||||
},
|
||||
{
|
||||
"time": 1677869373650,
|
||||
"type": "bouton pose n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677869373730,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677869373842,
|
||||
"type": "bouton pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677869373922,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677869374018,
|
||||
"type": "bouton pose n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677869374114,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677869377517,
|
||||
"type": "fleche switch haut de la pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677869379783,
|
||||
"type": "bouton renitialiser"
|
||||
},
|
||||
{
|
||||
"time": 1677869381362,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677869381530,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677869381658,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677869381946,
|
||||
"type": "bouton pose n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677869382410,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677869382730,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677869383533,
|
||||
"type": "bouton retirer"
|
||||
},
|
||||
{
|
||||
"time": 1677869384498,
|
||||
"type": "bouton pose n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677869384626,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677869384818,
|
||||
"type": "bouton pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677869385154,
|
||||
"type": "fleche gauche"
|
||||
},
|
||||
{
|
||||
"time": 1677869385298,
|
||||
"type": "fleche gauche"
|
||||
},
|
||||
{
|
||||
"time": 1677869385634,
|
||||
"type": "bouton pose n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677869385746,
|
||||
"type": "fleche gauche"
|
||||
},
|
||||
{
|
||||
"time": 1677869386394,
|
||||
"type": "bouton pose n°4"
|
||||
},
|
||||
{
|
||||
"time": 1677869386394,
|
||||
"type": "Affichage error 3 déjà fait"
|
||||
},
|
||||
{
|
||||
"time": 1677869388730,
|
||||
"type": "bouton pose n°4"
|
||||
},
|
||||
{
|
||||
"time": 1677869388730,
|
||||
"type": "Affichage error 3 déjà fait"
|
||||
},
|
||||
{
|
||||
"time": 1677869389162,
|
||||
"type": "bouton pose n°4"
|
||||
},
|
||||
{
|
||||
"time": 1677869389162,
|
||||
"type": "Affichage error 3 déjà fait"
|
||||
},
|
||||
{
|
||||
"time": 1677869389506,
|
||||
"type": "bouton pose n°4"
|
||||
},
|
||||
{
|
||||
"time": 1677869389506,
|
||||
"type": "Affichage error 3 déjà fait"
|
||||
},
|
||||
{
|
||||
"time": 1677869389794,
|
||||
"type": "bouton pose n°4"
|
||||
},
|
||||
{
|
||||
"time": 1677869389794,
|
||||
"type": "Affichage error 3 déjà fait"
|
||||
},
|
||||
{
|
||||
"time": 1677869391658,
|
||||
"type": "bouton pose n°4"
|
||||
},
|
||||
{
|
||||
"time": 1677869391658,
|
||||
"type": "Affichage error 3 déjà fait"
|
||||
},
|
||||
{
|
||||
"time": 1677869392432,
|
||||
"type": "bouton raz"
|
||||
},
|
||||
{
|
||||
"time": 1677869398116,
|
||||
"type": "bouton raz croix"
|
||||
},
|
||||
{
|
||||
"time": 1677869403965,
|
||||
"type": "bouton valider"
|
||||
},
|
||||
{
|
||||
"time": 1677869404011,
|
||||
"type": "Affichage Mesh random : gorgoile en idx_i, idx_j : (3, 0)"
|
||||
},
|
||||
{
|
||||
"time": 1677869404011,
|
||||
"type": "Affichage Mesh random : gorgoile en theta, delta : (1.5707963267948966, 2.356194490192345)"
|
||||
},
|
||||
{
|
||||
"time": 1677869412986,
|
||||
"type": "bouton pose n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677869413138,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677869413250,
|
||||
"type": "bouton pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677869413378,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677869414146,
|
||||
"type": "bouton pose n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677869414386,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677869415314,
|
||||
"type": "bouton valider"
|
||||
},
|
||||
{
|
||||
"time": 1677869415314,
|
||||
"type": "fin des choix."
|
||||
},
|
||||
{
|
||||
"time": 1677869415315,
|
||||
"type": "Début analyse n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677869457626,
|
||||
"type": "ajout check sur : analyse n°1, mot 1. De face"
|
||||
},
|
||||
{
|
||||
"time": 1677869458106,
|
||||
"type": "retrait check sur : analyse n°1, mot 1. De face"
|
||||
},
|
||||
{
|
||||
"time": 1677869458426,
|
||||
"type": "ajout check sur : analyse n°1, mot 2. De profil"
|
||||
},
|
||||
{
|
||||
"time": 1677869458642,
|
||||
"type": "ajout check sur : analyse n°1, mot 3. Debout"
|
||||
},
|
||||
{
|
||||
"time": 1677869458930,
|
||||
"type": "retrait check sur : analyse n°1, mot 2. De profil"
|
||||
},
|
||||
{
|
||||
"time": 1677869459090,
|
||||
"type": "ajout check sur : analyse n°1, mot 1. De face"
|
||||
},
|
||||
{
|
||||
"time": 1677869459746,
|
||||
"type": "retrait check sur : analyse n°1, mot 1. De face"
|
||||
},
|
||||
{
|
||||
"time": 1677869460082,
|
||||
"type": "ajout check sur : analyse n°1, mot 2. De profil"
|
||||
},
|
||||
{
|
||||
"time": 1677869460434,
|
||||
"type": "retrait check sur : analyse n°1, mot 3. Debout"
|
||||
},
|
||||
{
|
||||
"time": 1677869460890,
|
||||
"type": "retrait check sur : analyse n°1, mot 2. De profil"
|
||||
},
|
||||
{
|
||||
"time": 1677869461882,
|
||||
"type": "ajout check sur : analyse n°1, mot 2. De profil"
|
||||
},
|
||||
{
|
||||
"time": 1677869465322,
|
||||
"type": "Bouton valider analyse."
|
||||
},
|
||||
{
|
||||
"time": 1677869465322,
|
||||
"type": "Début analyse n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677869466658,
|
||||
"type": "ajout check sur : analyse n°2, mot 2. De profil"
|
||||
},
|
||||
{
|
||||
"time": 1677869467249,
|
||||
"type": "Bouton valider analyse."
|
||||
},
|
||||
{
|
||||
"time": 1677869467249,
|
||||
"type": "Début analyse n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677869481386,
|
||||
"type": "ajout check sur : analyse n°3, mot 3. Debout"
|
||||
},
|
||||
{
|
||||
"time": 1677869482193,
|
||||
"type": "Bouton valider analyse."
|
||||
},
|
||||
{
|
||||
"time": 1677869482196,
|
||||
"type": "Fin analyse"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,95 +0,0 @@
|
|||
{
|
||||
"tache_N1": {
|
||||
"obj_file": "dragon_update_user_study.obj",
|
||||
"mesh": "dragon",
|
||||
"position_init_idx_i": 7,
|
||||
"position_init_idx_j": 1,
|
||||
"theta_init": 0.7853981633974483,
|
||||
"delta_init": 5.497787143782138,
|
||||
"choix_poses": [
|
||||
[
|
||||
"choix1",
|
||||
0.7853981633974483,
|
||||
4.71238898038469,
|
||||
6,
|
||||
1
|
||||
],
|
||||
[
|
||||
"choix2",
|
||||
0.7853981633974483,
|
||||
3.9269908169872414,
|
||||
5,
|
||||
1
|
||||
],
|
||||
[
|
||||
"choix3",
|
||||
0.7853981633974483,
|
||||
3.141592653589793,
|
||||
4,
|
||||
1
|
||||
]
|
||||
]
|
||||
},
|
||||
"tache_N2": {
|
||||
"obj_file": "camel_update_user_study_normed.obj",
|
||||
"mesh": "camel",
|
||||
"position_init_idx_i": 6,
|
||||
"position_init_idx_j": 3,
|
||||
"theta_init": -0.7853981633974483,
|
||||
"delta_init": 4.71238898038469,
|
||||
"choix_poses": [
|
||||
[
|
||||
"choix1",
|
||||
-0.7853981633974483,
|
||||
4.71238898038469,
|
||||
6,
|
||||
3
|
||||
],
|
||||
[
|
||||
"choix2",
|
||||
-0.7853981633974483,
|
||||
3.9269908169872414,
|
||||
5,
|
||||
3
|
||||
],
|
||||
[
|
||||
"choix3",
|
||||
-0.7853981633974483,
|
||||
3.141592653589793,
|
||||
4,
|
||||
3
|
||||
]
|
||||
]
|
||||
},
|
||||
"tache_N3": {
|
||||
"obj_file": "gorgoile_update_user_study_centered_normed.obj",
|
||||
"mesh": "gorgoile",
|
||||
"position_init_idx_i": 7,
|
||||
"position_init_idx_j": 1,
|
||||
"theta_init": 0.7853981633974483,
|
||||
"delta_init": 5.497787143782138,
|
||||
"choix_poses": [
|
||||
[
|
||||
"choix1",
|
||||
0.7853981633974483,
|
||||
5.497787143782138,
|
||||
7,
|
||||
1
|
||||
],
|
||||
[
|
||||
"choix2",
|
||||
0.7853981633974483,
|
||||
4.71238898038469,
|
||||
6,
|
||||
1
|
||||
],
|
||||
[
|
||||
"choix3",
|
||||
0.7853981633974483,
|
||||
3.9269908169872414,
|
||||
5,
|
||||
1
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,173 @@
|
|||
{
|
||||
"tache_N1": {
|
||||
"obj_file": "dragon_update_user_study.obj",
|
||||
"mesh": "dragon",
|
||||
"position_init_idx_i": 2,
|
||||
"position_init_idx_j": 4,
|
||||
"theta_init": -1.5707963267948966,
|
||||
"delta_init": 1.5707963267948966,
|
||||
"choix_poses": [
|
||||
[
|
||||
"choix1",
|
||||
-1.5707963267948966,
|
||||
0.7853981633974483,
|
||||
1,
|
||||
4
|
||||
],
|
||||
[
|
||||
"choix2",
|
||||
-1.5707963267948966,
|
||||
0,
|
||||
0,
|
||||
4
|
||||
],
|
||||
[
|
||||
"choix3",
|
||||
-1.5707963267948966,
|
||||
5.497787143782138,
|
||||
7,
|
||||
4
|
||||
]
|
||||
]
|
||||
},
|
||||
"tache_N2": {
|
||||
"obj_file": "camel_update_user_study_normed.obj",
|
||||
"mesh": "camel",
|
||||
"position_init_idx_i": 3,
|
||||
"position_init_idx_j": 1,
|
||||
"theta_init": 0.7853981633974483,
|
||||
"delta_init": 2.356194490192345,
|
||||
"choix_poses": [
|
||||
[
|
||||
"choix1",
|
||||
0.7853981633974483,
|
||||
2.356194490192345,
|
||||
3,
|
||||
1
|
||||
],
|
||||
[
|
||||
"choix2",
|
||||
0.7853981633974483,
|
||||
1.5707963267948966,
|
||||
2,
|
||||
1
|
||||
],
|
||||
[
|
||||
"choix3",
|
||||
0.7853981633974483,
|
||||
0.7853981633974483,
|
||||
1,
|
||||
1
|
||||
]
|
||||
]
|
||||
},
|
||||
"Analyse": {
|
||||
"analyse_N1": {
|
||||
"mesh": "dragon",
|
||||
"idx": [
|
||||
0
|
||||
],
|
||||
"mots": [
|
||||
"1. De face"
|
||||
]
|
||||
}
|
||||
},
|
||||
"Interactions": [
|
||||
{
|
||||
"time": 1677933673225,
|
||||
"type": "start"
|
||||
},
|
||||
{
|
||||
"time": 1677933673756,
|
||||
"type": "bouton commencerclavier"
|
||||
},
|
||||
{
|
||||
"time": 1677933673807,
|
||||
"type": "Affichage Mesh random : dragon en idx_i, idx_j : (2, 4)"
|
||||
},
|
||||
{
|
||||
"time": 1677933673807,
|
||||
"type": "Affichage Mesh random : dragon en theta, delta : (-1.5707963267948966, 1.5707963267948966)"
|
||||
},
|
||||
{
|
||||
"time": 1677933673900,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677933674149,
|
||||
"type": "bouton pose n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677933674259,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677933674370,
|
||||
"type": "bouton pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677933674490,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677933674644,
|
||||
"type": "bouton pose n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677933675090,
|
||||
"type": "bouton valider"
|
||||
},
|
||||
{
|
||||
"time": 1677933675109,
|
||||
"type": "Affichage Mesh random : camel en idx_i, idx_j : (3, 1)"
|
||||
},
|
||||
{
|
||||
"time": 1677933675109,
|
||||
"type": "Affichage Mesh random : camel en theta, delta : (0.7853981633974483, 2.356194490192345)"
|
||||
},
|
||||
{
|
||||
"time": 1677933675787,
|
||||
"type": "bouton pose n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677933675899,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677933675995,
|
||||
"type": "bouton pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677933676099,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677933676186,
|
||||
"type": "bouton pose n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677933676538,
|
||||
"type": "bouton valider"
|
||||
},
|
||||
{
|
||||
"time": 1677933676538,
|
||||
"type": "fin des choix."
|
||||
},
|
||||
{
|
||||
"time": 1677933676544,
|
||||
"type": "Début analyse n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677933676970,
|
||||
"type": "ajout check sur : analyse n°1, mot 1. De face"
|
||||
},
|
||||
{
|
||||
"time": 1677933677194,
|
||||
"type": "Bouton valider analyse."
|
||||
},
|
||||
{
|
||||
"time": 1677933677194,
|
||||
"type": "Fin analyse"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,302 +0,0 @@
|
|||
{
|
||||
"tache_N1": {
|
||||
"obj_file": "dragon_update_user_study.obj",
|
||||
"mesh": "dragon",
|
||||
"position_init_idx_i": 6,
|
||||
"position_init_idx_j": 4,
|
||||
"theta_init": -1.5707963267948966,
|
||||
"delta_init": 4.71238898038469,
|
||||
"choix_poses": [
|
||||
[
|
||||
"choix1",
|
||||
-1.5707963267948966,
|
||||
3.9269908169872414,
|
||||
5,
|
||||
4
|
||||
],
|
||||
[
|
||||
"choix3",
|
||||
-1.5707963267948966,
|
||||
2.356194490192345,
|
||||
3,
|
||||
4
|
||||
],
|
||||
[
|
||||
"choix2",
|
||||
-1.5707963267948966,
|
||||
3.141592653589793,
|
||||
4,
|
||||
4
|
||||
]
|
||||
]
|
||||
},
|
||||
"tache_N2": {
|
||||
"obj_file": "camel_update_user_study_normed.obj",
|
||||
"mesh": "camel",
|
||||
"position_init_idx_i": 1,
|
||||
"position_init_idx_j": 3,
|
||||
"theta_init": -0.7853981633974483,
|
||||
"delta_init": 0.7853981633974483,
|
||||
"choix_poses": [
|
||||
[
|
||||
"choix1",
|
||||
-0.7853981633974483,
|
||||
0.7853981633974483,
|
||||
1,
|
||||
3
|
||||
],
|
||||
[
|
||||
"choix2",
|
||||
-0.7853981633974483,
|
||||
0,
|
||||
0,
|
||||
3
|
||||
],
|
||||
[
|
||||
"choix3",
|
||||
-0.7853981633974483,
|
||||
5.497787143782138,
|
||||
7,
|
||||
3
|
||||
]
|
||||
]
|
||||
},
|
||||
"tache_N3": {
|
||||
"obj_file": "gorgoile_update_user_study_centered_normed.obj",
|
||||
"mesh": "gorgoile",
|
||||
"position_init_idx_i": 2,
|
||||
"position_init_idx_j": 1,
|
||||
"theta_init": 0.7853981633974483,
|
||||
"delta_init": 1.5707963267948966,
|
||||
"choix_poses": [
|
||||
[
|
||||
"choix1",
|
||||
0.7853981633974483,
|
||||
1.5707963267948966,
|
||||
2,
|
||||
1
|
||||
],
|
||||
[
|
||||
"choix3",
|
||||
0.7853981633974483,
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
[
|
||||
"choix3",
|
||||
0.7853981633974483,
|
||||
5.497787143782138,
|
||||
7,
|
||||
1
|
||||
]
|
||||
]
|
||||
},
|
||||
"Analyse": {
|
||||
"analyse_N1": {
|
||||
"mesh": "dragon",
|
||||
"idx": [
|
||||
0
|
||||
],
|
||||
"mots": [
|
||||
"1. De face"
|
||||
]
|
||||
},
|
||||
"analyse_N2": {
|
||||
"mesh": "camel",
|
||||
"idx": [
|
||||
1
|
||||
],
|
||||
"mots": [
|
||||
"2. De profil"
|
||||
]
|
||||
},
|
||||
"analyse_N3": {
|
||||
"mesh": "gorgoile",
|
||||
"idx": [
|
||||
2
|
||||
],
|
||||
"mots": [
|
||||
"3. Debout"
|
||||
]
|
||||
}
|
||||
},
|
||||
"Interactions": [
|
||||
{
|
||||
"time": 1677838666856,
|
||||
"type": "start"
|
||||
},
|
||||
{
|
||||
"time": 1677838666879,
|
||||
"type": "Affichage Mesh random : dragon en idx_i, idx_j : (6, 4)"
|
||||
},
|
||||
{
|
||||
"time": 1677838666879,
|
||||
"type": "Affichage Mesh random : dragon en theta, delta : (-1.5707963267948966, 4.71238898038469)"
|
||||
},
|
||||
{
|
||||
"time": 1677838667858,
|
||||
"type": "bouton commencerclavier"
|
||||
},
|
||||
{
|
||||
"time": 1677838668905,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677838669074,
|
||||
"type": "bouton pose n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677838669233,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677838669350,
|
||||
"type": "bouton pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677838669826,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677838670273,
|
||||
"type": "bouton pose n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677838679013,
|
||||
"type": "fleche switch bas de la pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677838680695,
|
||||
"type": "bouton valider"
|
||||
},
|
||||
{
|
||||
"time": 1677838680718,
|
||||
"type": "Affichage Mesh random : camel en idx_i, idx_j : (1, 3)"
|
||||
},
|
||||
{
|
||||
"time": 1677838680718,
|
||||
"type": "Affichage Mesh random : camel en theta, delta : (-0.7853981633974483, 0.7853981633974483)"
|
||||
},
|
||||
{
|
||||
"time": 1677838681793,
|
||||
"type": "bouton pose n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677838681906,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677838682049,
|
||||
"type": "bouton pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677838682153,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677838682258,
|
||||
"type": "bouton pose n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677838682858,
|
||||
"type": "bouton valider"
|
||||
},
|
||||
{
|
||||
"time": 1677838682883,
|
||||
"type": "Affichage Mesh random : gorgoile en idx_i, idx_j : (2, 1)"
|
||||
},
|
||||
{
|
||||
"time": 1677838682883,
|
||||
"type": "Affichage Mesh random : gorgoile en theta, delta : (0.7853981633974483, 1.5707963267948966)"
|
||||
},
|
||||
{
|
||||
"time": 1677838684417,
|
||||
"type": "bouton pose n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677838684594,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677838684737,
|
||||
"type": "bouton pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677838685642,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677838686474,
|
||||
"type": "bouton pose n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677838688278,
|
||||
"type": "suppression de la pose n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677838689177,
|
||||
"type": "bouton pose n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677838689177,
|
||||
"type": "Affichage error pose déjà sélectionnée"
|
||||
},
|
||||
{
|
||||
"time": 1677838689289,
|
||||
"type": "fleche droite"
|
||||
},
|
||||
{
|
||||
"time": 1677838689450,
|
||||
"type": "bouton pose n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677838716760,
|
||||
"type": "bouton valider"
|
||||
},
|
||||
{
|
||||
"time": 1677838716760,
|
||||
"type": "fin des choix."
|
||||
},
|
||||
{
|
||||
"time": 1677838716761,
|
||||
"type": "Début analyse n°1"
|
||||
},
|
||||
{
|
||||
"time": 1677838718112,
|
||||
"type": "ajout check sur : analyse n°1, mot 1. De face"
|
||||
},
|
||||
{
|
||||
"time": 1677838718641,
|
||||
"type": "Bouton valider analyse."
|
||||
},
|
||||
{
|
||||
"time": 1677838718641,
|
||||
"type": "Début analyse n°2"
|
||||
},
|
||||
{
|
||||
"time": 1677838719650,
|
||||
"type": "ajout check sur : analyse n°2, mot 2. De profil"
|
||||
},
|
||||
{
|
||||
"time": 1677838720057,
|
||||
"type": "Bouton valider analyse."
|
||||
},
|
||||
{
|
||||
"time": 1677838720057,
|
||||
"type": "Début analyse n°3"
|
||||
},
|
||||
{
|
||||
"time": 1677838720729,
|
||||
"type": "ajout check sur : analyse n°3, mot 3. Debout"
|
||||
},
|
||||
{
|
||||
"time": 1677838721384,
|
||||
"type": "Bouton valider analyse."
|
||||
},
|
||||
{
|
||||
"time": 1677838721393,
|
||||
"type": "Fin analyse"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"Analyse": {},
|
||||
"Interactions": [
|
||||
{
|
||||
"time": 1677933175395,
|
||||
"type": "start"
|
||||
},
|
||||
{
|
||||
"time": 1677933175421,
|
||||
"type": "Affichage Mesh random : dragon en idx_i, idx_j : (1, 1)"
|
||||
},
|
||||
{
|
||||
"time": 1677933175421,
|
||||
"type": "Affichage Mesh random : dragon en theta, delta : (0.7853981633974483, 0.7853981633974483)"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -32,7 +32,7 @@ async function main() {
|
|||
file.write(JSON.stringify(req.body, undefined, 4));
|
||||
|
||||
// Envoi de la réponse pour terminer la requête.
|
||||
res.send('Ok');
|
||||
res.send('Enregistrement terminé.');
|
||||
});
|
||||
|
||||
// Création du dossier où les données seront stockées.
|
||||
|
|
|
@ -12,7 +12,7 @@ function init_variable_analyse(){
|
|||
|
||||
// Analayse des choix avec les checkboxs
|
||||
keywords = ["1. De face", "2. De profil", "3. Debout", "4. Eyes contact", "5. toto"]
|
||||
nb_analyse_demande = 3
|
||||
nb_analyse_demande = 1//3
|
||||
|
||||
w_valider = w_bouton*1.2
|
||||
h_valider = h_bouton*1.2
|
||||
|
|
|
@ -31,55 +31,6 @@ function init_variable_fonction(dict_boutons, dict_imgs ){
|
|||
}
|
||||
|
||||
|
||||
function new_image(src) {
|
||||
img = new Image()
|
||||
img.src = src
|
||||
return img
|
||||
}
|
||||
|
||||
function getMousePos(c, event) {
|
||||
var rect = c.getBoundingClientRect()
|
||||
return {
|
||||
x: event.clientX - rect.left,
|
||||
y: event.clientY - rect.top
|
||||
}
|
||||
}
|
||||
|
||||
function is_inside(xyMove, x, y, w, h) {
|
||||
return (xyMove.x > x && xyMove.x < x+w && xyMove.y > y && xyMove.y < y +h)
|
||||
}
|
||||
|
||||
function click_inside(xyClick, x, y, w, h) {
|
||||
return (xyClick.x > x && xyClick.x < x+w && xyClick.y > y && xyClick.y < y +h)
|
||||
}
|
||||
|
||||
function draw_rectangle(originex, originey, largeur, hauteur, couleur, alpha){
|
||||
ctx.beginPath()
|
||||
ctx.moveTo(originex, originey)
|
||||
ctx.lineTo(originex+largeur, originey)
|
||||
ctx.lineTo(originex+largeur, originey+hauteur)
|
||||
ctx.lineTo(originex, originey+hauteur)
|
||||
ctx.lineTo(originex, originey)
|
||||
ctx.fillStyle = couleur
|
||||
ctx.globalAlpha = alpha
|
||||
ctx.fill()
|
||||
ctx.globalAlpha = 1
|
||||
}
|
||||
|
||||
function draw_contour(originex, originey, largeur, hauteur, couleur, alpha=1){
|
||||
ctx.beginPath()
|
||||
ctx.moveTo(originex, originey)
|
||||
ctx.lineTo(originex+largeur, originey)
|
||||
ctx.lineTo(originex+largeur, originey+hauteur)
|
||||
ctx.lineTo(originex, originey+hauteur)
|
||||
ctx.lineTo(originex, originey)
|
||||
ctx.lineWidth = 5
|
||||
ctx.strokeStyle = couleur
|
||||
ctx.globalAlpha = alpha
|
||||
ctx.stroke()
|
||||
ctx.lineWidth = 1
|
||||
}
|
||||
|
||||
function bloquer_pose(L_poses){
|
||||
for (p=0; p<L_poses.length; p++){
|
||||
idx_i_p = L_poses[p][3]
|
||||
|
@ -91,20 +42,6 @@ function bloquer_pose(L_poses){
|
|||
}
|
||||
}
|
||||
|
||||
function progress_bar(N_tache, N_mesh){
|
||||
if (N_tache<=N_mesh){
|
||||
// background
|
||||
draw_rectangle(x_progress_bar, y_progress_bar, w_progress_bar, h_progress_bar, "rgb(255,255,255)", 1)
|
||||
// bar
|
||||
w_bar = ((N_tache-1)/N_mesh)*w_progress_bar
|
||||
draw_rectangle(x_progress_bar, y_progress_bar, w_bar, h_progress_bar, "rgb(17, 138, 178)", 1)
|
||||
// // numero de tache
|
||||
// ctx.strokeStyle = "rgb(255, 255, 255)" // Pour que le contour soit rouge
|
||||
// ctx.fillStyle = "rgb(255, 255, 255)" // Pour que l'intérieur soit bleu
|
||||
// ctx.font = "18pt Courier";
|
||||
// ctx.fillText((N_tache)+"/"+(N_mesh), x_progress_bar+w_progress_bar+10, h_progress_bar)
|
||||
}
|
||||
}
|
||||
|
||||
function pose_deja_choisie(L_poses, i_choix, j_choix){
|
||||
deja_choisie = false
|
||||
|
@ -118,71 +55,6 @@ function pose_deja_choisie(L_poses, i_choix, j_choix){
|
|||
}
|
||||
}
|
||||
|
||||
function print_text(dialogue) {
|
||||
|
||||
s = dialogue.texte
|
||||
for (let i = 0; i < s.length; i++) {
|
||||
if (s[i].lettre !== undefined) {
|
||||
ctx.strokeStyle = s[i].stroke
|
||||
ctx.fillStyle = s[i].fill
|
||||
ctx.strokeText(s[i].lettre, s[i].x, s[i].y)
|
||||
ctx.fillText(s[i].lettre, s[i].x, s[i].y)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function handle_text(dialogue, x_start, y_start, font, l_max, color="#FFFFFF") {
|
||||
let s = dialogue
|
||||
|
||||
let x = 0
|
||||
let y = y_start
|
||||
|
||||
let mot = ""
|
||||
let img_to_print = ""
|
||||
let lettres = s.split("")
|
||||
let message = []
|
||||
|
||||
let current_fill = color
|
||||
|
||||
ctx.textAlign = "left"
|
||||
ctx.font = font
|
||||
|
||||
while (lettres.length > 0) {
|
||||
l = lettres.splice(0, 1)[0]
|
||||
if (l === " ") {
|
||||
if (x >= l_max) {
|
||||
|
||||
x = 0
|
||||
y += 40
|
||||
for (let i = 0; i < mot.length; i++) {
|
||||
message[message.length-mot.length+i].x = x_start+x
|
||||
message[message.length-mot.length+i].y = y
|
||||
x += ctx.measureText(message[message.length-mot.length+i].lettre).width
|
||||
}
|
||||
}
|
||||
message.push({"lettre": " ", "x": x_start+x, "y": y, "fill": current_fill, "stroke": current_fill})
|
||||
x += ctx.measureText(" ").width
|
||||
mot = ""
|
||||
} else {
|
||||
mot += l
|
||||
message.push({"lettre": l, "x": x_start+x, "y": y, "fill": current_fill, "stroke": current_fill})
|
||||
x += ctx.measureText(l).width
|
||||
}
|
||||
}
|
||||
|
||||
if (x >= l_max) {
|
||||
x = 0
|
||||
y += 40
|
||||
for (let i = 0; i < mot.length; i++) {
|
||||
message[message.length-mot.length+i].x = x_start+x
|
||||
message[message.length-mot.length+i].y = y
|
||||
x += ctx.measureText(message[message.length-mot.length+i].lettre).width
|
||||
}
|
||||
}
|
||||
|
||||
return {"texte": message}
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
function affichage_texte_fin(M_fin, E_termine){
|
||||
ctx.strokeStyle = "rgb(255, 255, 255)"
|
||||
ctx.fillStyle = "rgb(255, 255, 255)"
|
||||
//Message de remerciement
|
||||
texte = "Done, thx you :)"
|
||||
font = "100pt Courier"
|
||||
ctx.font = font
|
||||
largeur = ctx.measureText(texte).width
|
||||
print_text(handle_text(texte, (window.innerWidth/2)-(largeur/2), 150, font, window.innerWidth, 1000, color="#FFFFFF"))
|
||||
|
||||
// Texte WAIT
|
||||
texte = "Please a moment"
|
||||
font = "70pt Courier"
|
||||
ctx.font = font
|
||||
largeur = ctx.measureText(texte).width
|
||||
print_text(handle_text(texte, (window.innerWidth/2)-(largeur/2), 350, font, window.innerWidth, 1000, color="#FFFFFF"))
|
||||
|
||||
ctx.strokeStyle = "rgb(239, 71, 111)"
|
||||
ctx.fillStyle = "rgb(239, 71, 111)"
|
||||
texte = " WAIT "
|
||||
largeur = ctx.measureText(texte).width
|
||||
print_text(handle_text(texte, (window.innerWidth/2)-(largeur/2), 350, font, window.innerWidth, 1000))
|
||||
|
||||
// Texte d'envoie
|
||||
ctx.strokeStyle = "rgb(255, 255, 255)"
|
||||
ctx.fillStyle = "rgb(255, 255, 255)"
|
||||
if (!E_termine){
|
||||
print_text(handle_text(M_fin, (window.innerWidth/2)-450, innerHeight/2 +100, "26pt Courier", 1000))
|
||||
}
|
||||
else {
|
||||
print_text(handle_text(M_fin, (window.innerWidth/2)-450, innerHeight/2 +200, "26pt Courier", 1000))
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,183 @@
|
|||
scale_bouton_commencer = 0.6
|
||||
|
||||
function affichage_inscription(){
|
||||
// Texte
|
||||
draw_rectangle(0,0,canvas.width, canvas.height, "rgb(3, 26, 33)", 1) // ou + clair 4, 38, 48
|
||||
ctx.strokeStyle = "rgb(255, 255, 255)" // Pour que le contour soit rouge
|
||||
ctx.fillStyle = "rgb(255, 255, 255)" // Pour que l'intérieur soit bleu
|
||||
texte = "Are you ready ??????"
|
||||
font = "58pt Courier"
|
||||
ctx.font = font
|
||||
largeur = ctx.measureText(texte).width
|
||||
ctx.fillText(texte, (window.innerWidth/2)- (largeur/2), 100)
|
||||
|
||||
// Pour les zones de textes
|
||||
ctx.strokeStyle = "rgb(255, 255, 255)"
|
||||
ctx.fillStyle = "rgb(255, 255, 255)"
|
||||
ctx.font = "28pt Courier"
|
||||
ctx.fillText("Firstname:", x_texte_zone, parseInt(document.getElementById("Firstname").style.top) -10)
|
||||
ctx.fillText("Name:", x_texte_zone, parseInt(document.getElementById("Name").style.top) - 10)
|
||||
ctx.fillText("Age:", x_texte_zone, parseInt(document.getElementById("Age").style.top) - 10)
|
||||
ctx.fillText("Sexe:", parseInt(document.getElementById("SexeM").style.left), parseInt(document.getElementById("SexeM").style.top) - 10)
|
||||
ctx.fillText("Sexe:", parseInt(document.getElementById("SexeM").style.left), parseInt(document.getElementById("SexeM").style.top) - 10)
|
||||
ctx.font = "24pt Courier"
|
||||
ctx.fillText("Male", parseInt(document.getElementById("SexeM").style.left)+40, parseInt(document.getElementById("SexeM").style.top)+34)
|
||||
ctx.fillText("Female", parseInt(document.getElementById("SexeF").style.left)+40, parseInt(document.getElementById("SexeM").style.top)+34)
|
||||
}
|
||||
|
||||
|
||||
function afficher_bouton_commencer(){
|
||||
w_bouton_commencer = scale_bouton_commencer*boutons["commencer"].width
|
||||
h_bouton_commencer = scale_bouton_commencer*boutons["commencer"].height
|
||||
x_bouton_commencer = (window.innerWidth/2)-(w_bouton_commencer/2)
|
||||
y_bouton_commencer = innerHeight*0.75
|
||||
// Bouton commencer
|
||||
ctx.drawImage(boutons["commencer"], x_bouton_commencer, y_bouton_commencer , w_bouton_commencer, h_bouton_commencer)
|
||||
|
||||
// Survol
|
||||
if(xyMouseMove.x >= x_bouton_commencer && xyMouseMove.x <= x_bouton_commencer + w_bouton_commencer && xyMouseMove.y > y_bouton_commencer && xyMouseMove.y < y_bouton_commencer + h_bouton_commencer){
|
||||
draw_rectangle(x_bouton_commencer, y_bouton_commencer , w_bouton_commencer, h_bouton_commencer, "rgb(200, 200, 200)", 0.6)
|
||||
}
|
||||
}
|
||||
|
||||
function action_bouton_commencer(s){
|
||||
page_inscription = false
|
||||
page_vues = true
|
||||
interactions.push({"time": new Date().getTime(), "type": "bouton commencer"+s})
|
||||
|
||||
}
|
||||
|
||||
|
||||
function traitement_inscription(){
|
||||
affichage_inscription()
|
||||
if (champs_remplis_correctment()){
|
||||
afficher_bouton_commencer()
|
||||
if (clicked && click_inside(xyMouseDown, x_bouton_commencer, y_bouton_commencer , w_bouton_commencer, h_bouton_commencer)){
|
||||
// on passe aux choix
|
||||
action_bouton_commencer("titi")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////
|
||||
/// CHAMPS INSCRIPTION
|
||||
|
||||
function champs_remplis_correctment(){
|
||||
firstname_ok = false
|
||||
name_ok = false
|
||||
age_ok = false
|
||||
sexe_ok = false
|
||||
if (document.getElementById("Firstname").value.length >0){firstname_ok = true}
|
||||
if (document.getElementById("Name").value.length >0){name_ok = true}
|
||||
if (document.getElementById("Age").value.length >0){age_ok = true}
|
||||
if (document.getElementById("SexeM").checked || document.getElementById("SexeF").checked){ sexe_ok= true}
|
||||
return firstname_ok && name_ok && age_ok && sexe_ok
|
||||
}
|
||||
|
||||
function afficher_champs_inscription() {
|
||||
w_text_zone = 30
|
||||
h_text_zone = 42
|
||||
nb_caract_min = 1
|
||||
nb_caract_max = 30
|
||||
x_texte_zone = (window.innerWidth/3)
|
||||
y_texte_zone = 200
|
||||
ecart_texte_zone = 160
|
||||
|
||||
// Zone de texte : Firstname
|
||||
var input = document.createElement('input');
|
||||
input.type = 'text';
|
||||
input.id = 'Firstname';
|
||||
input.minLength = nb_caract_min
|
||||
input.maxLength = nb_caract_max
|
||||
input.size = w_text_zone
|
||||
input.style.position = 'fixed';
|
||||
input.style.left = x_texte_zone+'px';
|
||||
input.style.top = y_texte_zone+'px';
|
||||
input.style.textAlign = 'left'
|
||||
input.style.height = h_text_zone
|
||||
input.style.font = "24pt Courier"
|
||||
document.body.appendChild(input);
|
||||
input.focus();
|
||||
|
||||
// Zone de texte : Name
|
||||
var input2 = document.createElement('input');
|
||||
input2.type = 'text';
|
||||
input2.id = 'Name';
|
||||
input2.minLength = nb_caract_min
|
||||
input2.maxLength = nb_caract_max
|
||||
input2.size = w_text_zone
|
||||
// style
|
||||
input2.style.position = 'fixed';
|
||||
input2.style.left = x_texte_zone+'px';
|
||||
input2.style.top = ecart_texte_zone+y_texte_zone+'px';
|
||||
input2.style.textAlign = 'left'
|
||||
input2.style.height = h_text_zone
|
||||
input2.style.font = "24pt Courier"
|
||||
document.body.appendChild(input2);
|
||||
input2.focus();
|
||||
|
||||
// Zone de texte : Age
|
||||
var input3 = document.createElement('input');
|
||||
input3.type = 'number';
|
||||
input3.id = 'Age';
|
||||
input3.min = 1
|
||||
input3.max = 99
|
||||
input3.size = w_text_zone
|
||||
// style
|
||||
input3.style.position = 'fixed';
|
||||
input3.style.left = x_texte_zone+'px';
|
||||
input3.style.top = 2*ecart_texte_zone + y_texte_zone+'px';
|
||||
input3.style.textAlign = 'left'
|
||||
input3.style.height = h_text_zone
|
||||
input3.style.font = "24pt Courier"
|
||||
document.body.appendChild(input3);
|
||||
input3.focus();
|
||||
|
||||
// Zone de texte : Sexe
|
||||
var input4 = document.createElement('input');
|
||||
input4.type = 'radio';
|
||||
input4.id = 'SexeM';
|
||||
input4.name = "sexe"
|
||||
//input4.size = w_text_zone
|
||||
// style
|
||||
input4.style.position = 'fixed';
|
||||
input4.style.left = x_texte_zone + 250;
|
||||
input4.style.top = 2*ecart_texte_zone + y_texte_zone+'px';
|
||||
input4.style.height = h_text_zone
|
||||
document.body.appendChild(input4);
|
||||
input4.focus();
|
||||
|
||||
var input5 = document.createElement('input');
|
||||
input5.type = 'radio';
|
||||
input5.id = 'SexeF';
|
||||
input5.name = "sexe"
|
||||
//input4.size = w_text_zone
|
||||
// style
|
||||
input5.style.position = 'fixed';
|
||||
input5.style.left = x_texte_zone + 400;
|
||||
input5.style.top = 2*ecart_texte_zone + y_texte_zone+'px';
|
||||
input5.style.height = h_text_zone
|
||||
document.body.appendChild(input5);
|
||||
input5.focus();
|
||||
|
||||
|
||||
}
|
||||
|
||||
function gestion_donnees_personnelles(){
|
||||
// Sauvegarde des infos
|
||||
if (document.getElementById("SexeM").checked){sexe = "M"}
|
||||
else if (document.getElementById("SexeF").checked){sexe = "F"}
|
||||
else {sexe='None'}
|
||||
choix['identite'] = {"Firstname":document.getElementById("Firstname").value,
|
||||
"Name": document.getElementById("Name").value,
|
||||
"Age": document.getElementById("Age").value,
|
||||
"Sexe": sexe}
|
||||
document.getElementById("Firstname").style.display = 'none'
|
||||
document.getElementById("Name").style.display = 'none'
|
||||
document.getElementById("Age").style.display = 'none'
|
||||
document.getElementById("SexeM").style.display = 'none'
|
||||
document.getElementById("SexeF").style.display = 'none'
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -1,38 +0,0 @@
|
|||
scale_bouton_commencer = 0.6
|
||||
|
||||
function affichage_tuto(){
|
||||
w_bouton_commencer = scale_bouton_commencer*boutons["commencer"].width
|
||||
h_bouton_commencer = scale_bouton_commencer*boutons["commencer"].height
|
||||
// Texte
|
||||
draw_rectangle(0,0,canvas.width, canvas.height, "rgb(3, 26, 33)", 1) // ou + clair 4, 38, 48
|
||||
ctx.strokeStyle = "rgb(255, 255, 255)" // Pour que le contour soit rouge
|
||||
ctx.fillStyle = "rgb(255, 255, 255)" // Pour que l'intérieur soit bleu
|
||||
ctx.font = "bold 58pt Courier";
|
||||
ctx.fillText("Are you ready ??????", (window.innerWidth/2)-450, innerHeight/2 -100)
|
||||
|
||||
// Bouton commencer
|
||||
ctx.drawImage(boutons["commencer"], (window.innerWidth/2)-(w_bouton_commencer/2), innerHeight/2, w_bouton_commencer, h_bouton_commencer)
|
||||
}
|
||||
|
||||
function survol_commencer(){
|
||||
if(xyMouseMove.x >= (window.innerWidth/2)-(w_bouton_commencer/2) && xyMouseMove.x <= (window.innerWidth/2)-(w_bouton_commencer/2) + w_bouton_commencer && xyMouseMove.y > innerHeight/2 && xyMouseMove.y < innerHeight/2 + h_bouton_commencer){
|
||||
draw_rectangle((window.innerWidth/2)-(w_bouton_commencer/2), innerHeight/2, w_bouton_commencer, h_bouton_commencer, "rgb(200, 200, 200)", 0.6)
|
||||
}
|
||||
}
|
||||
|
||||
function action_bouton_commencer(s){
|
||||
page_tuto = false
|
||||
page_vues = true
|
||||
interactions.push({"time": new Date().getTime(), "type": "bouton commencer"+s})
|
||||
}
|
||||
|
||||
|
||||
function traitement_tuto(){
|
||||
affichage_tuto()
|
||||
survol_commencer()
|
||||
if (clicked && click_inside(xyMouseDown, (window.innerWidth/2)-(w_bouton_commencer/2), innerHeight/2, w_bouton_commencer, h_bouton_commencer)){
|
||||
// on passe aux choix
|
||||
action_bouton_commencer("titi")
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,130 @@
|
|||
function new_image(src) {
|
||||
img = new Image()
|
||||
img.src = src
|
||||
return img
|
||||
}
|
||||
|
||||
function getMousePos(c, event) {
|
||||
var rect = c.getBoundingClientRect()
|
||||
return {
|
||||
x: event.clientX - rect.left,
|
||||
y: event.clientY - rect.top
|
||||
}
|
||||
}
|
||||
|
||||
function is_inside(xyMove, x, y, w, h) {
|
||||
return (xyMove.x > x && xyMove.x < x+w && xyMove.y > y && xyMove.y < y +h)
|
||||
}
|
||||
|
||||
function click_inside(xyClick, x, y, w, h) {
|
||||
return (xyClick.x > x && xyClick.x < x+w && xyClick.y > y && xyClick.y < y +h)
|
||||
}
|
||||
|
||||
function draw_rectangle(originex, originey, largeur, hauteur, couleur, alpha){
|
||||
ctx.beginPath()
|
||||
ctx.moveTo(originex, originey)
|
||||
ctx.lineTo(originex+largeur, originey)
|
||||
ctx.lineTo(originex+largeur, originey+hauteur)
|
||||
ctx.lineTo(originex, originey+hauteur)
|
||||
ctx.lineTo(originex, originey)
|
||||
ctx.fillStyle = couleur
|
||||
ctx.globalAlpha = alpha
|
||||
ctx.fill()
|
||||
ctx.globalAlpha = 1
|
||||
}
|
||||
|
||||
function draw_contour(originex, originey, largeur, hauteur, couleur, alpha=1){
|
||||
ctx.beginPath()
|
||||
ctx.moveTo(originex, originey)
|
||||
ctx.lineTo(originex+largeur, originey)
|
||||
ctx.lineTo(originex+largeur, originey+hauteur)
|
||||
ctx.lineTo(originex, originey+hauteur)
|
||||
ctx.lineTo(originex, originey)
|
||||
ctx.lineWidth = 5
|
||||
ctx.strokeStyle = couleur
|
||||
ctx.globalAlpha = alpha
|
||||
ctx.stroke()
|
||||
ctx.lineWidth = 1
|
||||
}
|
||||
|
||||
function print_text(dialogue) {
|
||||
|
||||
s = dialogue.texte
|
||||
for (let i = 0; i < s.length; i++) {
|
||||
if (s[i].lettre !== undefined) {
|
||||
ctx.strokeStyle = s[i].stroke
|
||||
ctx.fillStyle = s[i].fill
|
||||
ctx.strokeText(s[i].lettre, s[i].x, s[i].y)
|
||||
ctx.fillText(s[i].lettre, s[i].x, s[i].y)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function handle_text(dialogue, x_start, y_start, font, l_max, color="#FFFFFF") {
|
||||
let s = dialogue
|
||||
|
||||
let x = 0
|
||||
let y = y_start
|
||||
|
||||
let mot = ""
|
||||
let img_to_print = ""
|
||||
let lettres = s.split("")
|
||||
let message = []
|
||||
|
||||
let current_fill = color
|
||||
|
||||
ctx.textAlign = "left"
|
||||
ctx.font = font
|
||||
|
||||
while (lettres.length > 0) {
|
||||
l = lettres.splice(0, 1)[0]
|
||||
if (l === " ") {
|
||||
if (x >= l_max) {
|
||||
|
||||
x = 0
|
||||
y += 40
|
||||
for (let i = 0; i < mot.length; i++) {
|
||||
message[message.length-mot.length+i].x = x_start+x
|
||||
message[message.length-mot.length+i].y = y
|
||||
x += ctx.measureText(message[message.length-mot.length+i].lettre).width
|
||||
}
|
||||
}
|
||||
message.push({"lettre": " ", "x": x_start+x, "y": y, "fill": current_fill, "stroke": current_fill})
|
||||
x += ctx.measureText(" ").width
|
||||
mot = ""
|
||||
} else {
|
||||
mot += l
|
||||
message.push({"lettre": l, "x": x_start+x, "y": y, "fill": current_fill, "stroke": current_fill})
|
||||
x += ctx.measureText(l).width
|
||||
}
|
||||
}
|
||||
|
||||
if (x >= l_max) {
|
||||
x = 0
|
||||
y += 40
|
||||
for (let i = 0; i < mot.length; i++) {
|
||||
message[message.length-mot.length+i].x = x_start+x
|
||||
message[message.length-mot.length+i].y = y
|
||||
x += ctx.measureText(message[message.length-mot.length+i].lettre).width
|
||||
}
|
||||
}
|
||||
|
||||
return {"texte": message}
|
||||
}
|
||||
|
||||
|
||||
function progress_bar(N_tache, N_mesh){
|
||||
if (N_tache<=N_mesh){
|
||||
// background
|
||||
draw_rectangle(x_progress_bar, y_progress_bar, w_progress_bar, h_progress_bar, "rgb(255,255,255)", 1)
|
||||
// bar
|
||||
w_bar = ((N_tache-1)/N_mesh)*w_progress_bar
|
||||
draw_rectangle(x_progress_bar, y_progress_bar, w_bar, h_progress_bar, "rgb(17, 138, 178)", 1)
|
||||
// // numero de tache
|
||||
// ctx.strokeStyle = "rgb(255, 255, 255)" // Pour que le contour soit rouge
|
||||
// ctx.fillStyle = "rgb(255, 255, 255)" // Pour que l'intérieur soit bleu
|
||||
// ctx.font = "18pt Courier";
|
||||
// ctx.fillText((N_tache)+"/"+(N_mesh), x_progress_bar+w_progress_bar+10, h_progress_bar)
|
||||
}
|
||||
}
|
|
@ -4,7 +4,13 @@
|
|||
// initialisation des variables
|
||||
init_variable(true)
|
||||
// initialisation du canvas : load des images
|
||||
setUp_3D(indice_mesh)
|
||||
//setUp_3D(indice_mesh)
|
||||
|
||||
canvas = document.getElementById("canvas")
|
||||
canvas.width = window.innerWidth;
|
||||
canvas.height = window.innerHeight;
|
||||
ctx = canvas.getContext("2d")
|
||||
|
||||
init_data()
|
||||
//init_clavier()
|
||||
// action
|
||||
|
@ -42,7 +48,7 @@ function init_variable(premier_appel){
|
|||
indice_mesh = 0 // indice du premier mesh à visionner
|
||||
mesh_courant = "nope" // nom des mesh
|
||||
// nombre de mesh a visionner AU TOTAL
|
||||
nb_mesh = 3
|
||||
nb_mesh = 2 //3
|
||||
|
||||
// Choix des N poses demandé pour les mesh courant
|
||||
choix_courant = {}
|
||||
|
@ -74,7 +80,7 @@ function init_variable(premier_appel){
|
|||
R = 2.5
|
||||
|
||||
// Enchainement des pages
|
||||
page_tuto = true // true
|
||||
page_inscription = true // true
|
||||
page_vues = false // false
|
||||
page_analyse = false
|
||||
|
||||
|
@ -83,10 +89,14 @@ function init_variable(premier_appel){
|
|||
all_canvasMins = {}
|
||||
|
||||
// pour initialiser les claviers à chaque page
|
||||
premier_tour_page_tuto = true
|
||||
premier_tour_page_inscription = true
|
||||
premier_tour_page_vues = true
|
||||
premier_tour_page_analyse = true
|
||||
|
||||
// message de fin
|
||||
message_fin = "> Sending data in progress ..."
|
||||
envoie_termine = false
|
||||
|
||||
}
|
||||
|
||||
////////////////////////////////////////
|
||||
|
@ -213,15 +223,17 @@ function setUp_3D(idx_mesh){
|
|||
////////////////////////////////////////
|
||||
// CLAVIER
|
||||
|
||||
function action_clavier_tuto(event){
|
||||
function action_clavier_inscription(event){
|
||||
switch (event.key){
|
||||
// selectionner pose
|
||||
case ' ' :
|
||||
action_bouton_commencer('clavier')
|
||||
if (champs_remplis_correctment()){
|
||||
action_bouton_commencer('clavier')}
|
||||
break;
|
||||
// valider
|
||||
case 'Enter':
|
||||
action_bouton_commencer('clavier')
|
||||
if (champs_remplis_correctment()){
|
||||
action_bouton_commencer('clavier')}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -294,8 +306,8 @@ function action_clavier_analyse(event){
|
|||
|
||||
|
||||
|
||||
function init_clavier_tuto(){
|
||||
document.addEventListener("keydown", action_clavier_tuto)
|
||||
function init_clavier_inscription(){
|
||||
document.addEventListener("keydown", action_clavier_inscription)
|
||||
}
|
||||
|
||||
function init_clavier_vues(){
|
||||
|
@ -351,21 +363,27 @@ function animate() {
|
|||
// Temps à chaque animate
|
||||
time_animate = new Date().getTime()
|
||||
|
||||
// page tuto
|
||||
if (page_tuto){
|
||||
if (premier_tour_page_tuto){
|
||||
init_clavier_tuto()
|
||||
premier_tour_page_tuto=false}
|
||||
traitement_tuto()
|
||||
// page inscription
|
||||
if (page_inscription){
|
||||
if (premier_tour_page_inscription){
|
||||
init_clavier_inscription()
|
||||
afficher_champs_inscription()
|
||||
premier_tour_page_inscription=false}
|
||||
traitement_inscription()
|
||||
}
|
||||
|
||||
// page de choix
|
||||
if (page_vues && num_tache <= nb_mesh){
|
||||
// on enlève les touches du clavier associé à la page tuto
|
||||
document.removeEventListener("keydown", action_clavier_tuto)
|
||||
// on enlève les touches du clavier associé à la page inscription
|
||||
document.removeEventListener("keydown", action_clavier_inscription)
|
||||
//init touche clavier
|
||||
if(premier_tour_page_vues){
|
||||
//gestion des données personnelle de l'utilisateur
|
||||
gestion_donnees_personnelles()
|
||||
// init clavier pour les vues
|
||||
init_clavier_vues()
|
||||
// affichage ecran 3D
|
||||
setUp_3D(indice_mesh)
|
||||
premier_tour_page_vues = false
|
||||
}
|
||||
// Variable pour les fonctions
|
||||
|
@ -403,7 +421,7 @@ function animate() {
|
|||
which_clicked_fleche = -1
|
||||
which_clicked_bouton = -1
|
||||
}
|
||||
|
||||
// page analyse
|
||||
if (page_analyse){
|
||||
// on enlève les touches du clavier associé à la page vues
|
||||
document.removeEventListener("keydown", action_clavier_vues)
|
||||
|
@ -415,18 +433,14 @@ function animate() {
|
|||
init_variable_analyse()
|
||||
traitement_fin()
|
||||
}
|
||||
// page finale
|
||||
if (!page_tuto && !page_vues && !page_analyse){
|
||||
// page fin
|
||||
if (!page_inscription && !page_vues && !page_analyse){
|
||||
// on enlève les touches du clavier associé à la page vues
|
||||
document.removeEventListener("keydown", action_clavier_analyse)
|
||||
ctx.clearRect(0, 0, window.innerWidth, window.innerHeight)
|
||||
draw_rectangle(0,0,canvas.width, canvas.height, "rgb(3, 26, 33)", 1)
|
||||
ctx.strokeStyle = "rgb(255, 255, 255)" // Pour que le contour soit rouge
|
||||
ctx.fillStyle = "rgb(255, 255, 255)" // Pour que l'intérieur soit bleu
|
||||
ctx.font = "bold 58pt Courier";
|
||||
ctx.fillText("Done, thx you :)", (window.innerWidth/2)-450, innerHeight/2 -100)
|
||||
console.log('Fin interface3DD')
|
||||
|
||||
// Texte
|
||||
affichage_texte_fin(message_fin, envoie_termine)
|
||||
// ECRITURE DES RESULTATS
|
||||
choix['Analyse'] = checkbox_clicked
|
||||
choix['Interactions'] = interactions
|
||||
|
@ -441,12 +455,19 @@ function animate() {
|
|||
// Si la requête est terminée, et que la réponse n'est pas une erreur.
|
||||
if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
|
||||
console.log(xhr.responseText);
|
||||
message_fin = "> It's done."
|
||||
//print_text(handle_text(message_fin, (window.innerWidth/2)-450, innerHeight/2+150 , "26pt Courier", 1000))
|
||||
envoie_termine = true
|
||||
affichage_texte_fin(message_fin, envoie_termine)
|
||||
return;
|
||||
}
|
||||
}
|
||||
// Envoi de la requête vers le serveur, avec les données.
|
||||
xhr.send(JSON.stringify(choix));
|
||||
|
||||
return;
|
||||
return
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Boucle sur animate
|
||||
|
|
|
@ -16,3 +16,5 @@ body {
|
|||
background-color: #CCC;
|
||||
position: relative
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue