analyse avec ordre des choix
This commit is contained in:
parent
8dd8b20b29
commit
b92f9f2029
|
@ -47,10 +47,10 @@ function init_variable(premier_appel){
|
|||
obj_file_random = shuffle(obj_names)
|
||||
|
||||
// nombre de mesh a visionner AU TOTAL
|
||||
nb_mesh = 10 //obj_file_random.length
|
||||
nb_mesh = 3 //obj_file_random.length
|
||||
|
||||
// nb analyse demandé
|
||||
nb_analyse_demande = 5
|
||||
nb_analyse_demande = 2
|
||||
list_idx_tache =[]
|
||||
for (let p=0; p<nb_mesh; p++){list_idx_tache.push(p+1)}
|
||||
list_idx_tache = shuffle(list_idx_tache)
|
||||
|
@ -505,7 +505,7 @@ function animate() {
|
|||
document.removeEventListener("keydown", action_clavier_explication_analyse)
|
||||
// inti clavier
|
||||
if(premier_tour_page_analyse){
|
||||
interactions.push({"time": new Date().getTime(), "type": get_message("debut_analyse_i", [num_analyse, choix["tache_N"+list_idx_tache[idx_tache]].mesh])})
|
||||
//interactions.push({"time": new Date().getTime(), "type": get_message("debut_analyse_i", [num_analyse, choix["tache_N"+list_idx_tache[idx_tache]].mesh])})
|
||||
init_clavier_analyse()
|
||||
init_variable_analyse()
|
||||
old_renderer = document.getElementById('renderer')
|
||||
|
|
|
@ -14,16 +14,22 @@ function init_variable_analyse(){
|
|||
// }
|
||||
checkbox_clicked_courant = {idx_checkbox:[], mots:[]}
|
||||
// Analayse des choix avec les checkboxs
|
||||
keywords_init = ["Side view", "Front view", "Global view", "Eyes contact", "Pleasant", "Recognizable"]
|
||||
keywords_init = ["Side view", "Front view", "Global view", "Eyes contact", "Pleasant", "Recognizable", "3/4 view"]
|
||||
keywords = shuffle(keywords_init).concat(["Other:"])
|
||||
|
||||
l_keyword_max = 0
|
||||
for (let p = 0; p<=keywords.length; p++){
|
||||
if (l_keyword_max < ctx.measureText(keywords[p])) {l_keyword_max = ctx.measureText(keywords[p])}
|
||||
}
|
||||
l_keyword_max = l_keyword_max +10
|
||||
|
||||
y_recap = 0.2*window.innerHeight
|
||||
taille_texte_explication = 0.01*window.innerWidth
|
||||
x_recap_init = (window.innerWidth - nb_choix_demande*(H_3D/2))/(nb_choix_demande+1)
|
||||
|
||||
// checkbox
|
||||
w_checkbox = 20
|
||||
h_checkbox = 20
|
||||
w_checkbox = 2*taille_texte_explication
|
||||
h_checkbox = 2*taille_texte_explication
|
||||
y_checkbox_init = y_recap + H_3D/2 + h_checkbox
|
||||
}
|
||||
|
||||
|
@ -39,7 +45,9 @@ function affichage_legende(pos){
|
|||
function affichage_texte(){
|
||||
// Texte
|
||||
//draw_rectangle(0,0,canvas.width, canvas.height, "rgb(3, 26, 33)", 1) // ou + clair 4, 38, 48
|
||||
affichage_titre("Analysis your selections: Why did you choose these viewpoints?", (0.015*window.innerWidth)+"pt Courier", "#EF476F", yt = 0.1*window.innerHeight)
|
||||
affichage_titre("Analysis your selections:", (0.015*window.innerWidth)+"pt Courier", "#EF476F", yt = 0.05*window.innerHeight)
|
||||
affichage_titre("Select the characteristics that have allowed to select these viewpoints, from the most important to the least.", (0.01*window.innerWidth)+"pt Courier", "#EF476F", yt = 0.1*window.innerHeight)
|
||||
|
||||
}
|
||||
|
||||
// idx_tache est la num de la tache à aller chercher dans all_ctxMins
|
||||
|
@ -82,7 +90,7 @@ function affichage_bouton_valider_analyse(m){
|
|||
// affichage bouton valider
|
||||
if (m == "en_cours")
|
||||
{ctx.drawImage(boutons["valider"], x_bouton_analyse, y_bouton_analyse, w_bouton_analyse, h_bouton_analyse)}
|
||||
else{ctx.drawImage(boutons["envoie_data"], x_bouton_analyse, y_bouton_analyse, w_bouton_analyse, h_bouton_analyse)}
|
||||
else{ctx.drawImage(boutons["suivant_grand"], x_bouton_analyse, y_bouton_analyse, w_bouton_analyse, h_bouton_analyse)}
|
||||
// survol
|
||||
if(is_inside(xyMouseMove, x_bouton_analyse, y_bouton_analyse, w_bouton_analyse, h_bouton_analyse)){
|
||||
draw_rectangle(x_bouton_analyse, y_bouton_analyse, w_bouton_analyse, h_bouton_analyse, "rgb(200, 200, 200)", 0.6)
|
||||
|
@ -134,15 +142,15 @@ function action_bouton_valider_analyse(){
|
|||
|
||||
///////////////////////////////////////////////////////////////
|
||||
///////////////////// Checkbox
|
||||
function measure_largeur(pos){
|
||||
function measure_largeur(debut, pos){
|
||||
if (pos>=0){
|
||||
l = 0
|
||||
for (let p = 0; p<=pos; p++){
|
||||
l = l + ctx.measureText(keywords[p]).width + 0.05*window.innerWidth
|
||||
for (let p = debut; p<=debut+pos; p++){
|
||||
l = l + ctx.measureText(keywords[p]).width + 0.05*window.innerWidth
|
||||
}
|
||||
return l
|
||||
}
|
||||
else{return 0}
|
||||
else{return 15}
|
||||
}
|
||||
|
||||
function traitement_empty_checkbox(){
|
||||
|
@ -150,11 +158,14 @@ function traitement_empty_checkbox(){
|
|||
for (let i = 0 ; i < keywords.length; i++){
|
||||
// checkbox vide
|
||||
//i*((window.innerWidth * 8/10)/6)
|
||||
if(i<keywords.length-1){x_checkbox = window.innerWidth*1/10 + measure_largeur(i-1); y_checkbox = y_checkbox_init}
|
||||
else {x_checkbox = window.innerWidth*1/10; y_checkbox = y_checkbox_init + 2*h_checkbox}
|
||||
if(i<=5){x_checkbox = window.innerWidth*1/10 + measure_largeur(0, i-1);
|
||||
y_checkbox = y_checkbox_init}
|
||||
else {p = (i%5)-1;
|
||||
x_checkbox = window.innerWidth*1/10 + measure_largeur(6, p-1);
|
||||
y_checkbox = y_checkbox_init + 2*h_checkbox}
|
||||
ctx.drawImage(imgs["checkbox"], x_checkbox , y_checkbox, w_checkbox, h_checkbox)
|
||||
// Texte
|
||||
print_text(handle_text(keywords[i], x_checkbox + w_checkbox + 10, y_checkbox + 18, taille_texte_explication+"pt Courier", longueur_max_error))
|
||||
print_text(handle_text(keywords[i], x_checkbox + w_checkbox + 10, y_checkbox + h_checkbox*0.75, taille_texte_explication+"pt Courier", longueur_max_error))
|
||||
// survol
|
||||
if (is_inside(xyMouseMove, x_checkbox, y_checkbox, w_checkbox, h_checkbox)){
|
||||
draw_rectangle(x_checkbox, y_checkbox, w_checkbox, h_checkbox, "rgb(0, 255, 0)", alpha_survol)
|
||||
|
@ -199,12 +210,14 @@ function draw_check(){
|
|||
// pour chacune de ces checkbox cliquée on affiche un check
|
||||
for (let i = 0 ; i < idx_check.length; i++){
|
||||
pos = idx_check[i]
|
||||
if (pos == keywords.length-1){x_checkbox = window.innerWidth*1/10; y_checkbox = y_checkbox_init + 2*h_checkbox}
|
||||
if (pos > 5){p = (pos%5)-1; x_checkbox = window.innerWidth*1/10 + measure_largeur(6, p-1); y_checkbox = y_checkbox_init + 2*h_checkbox}
|
||||
else{
|
||||
x_checkbox = window.innerWidth*1/10 + measure_largeur(pos-1)
|
||||
x_checkbox = window.innerWidth*1/10 + measure_largeur(0, pos-1)
|
||||
y_checkbox = y_checkbox_init
|
||||
}
|
||||
ctx.drawImage(imgs["check"], x_checkbox-5 , y_checkbox-5, w_checkbox+10, h_checkbox+10)
|
||||
//ctx.drawImage(imgs["check"], x_checkbox-5 , y_checkbox-5, w_checkbox+10, h_checkbox+10)
|
||||
print_text(handle_text(""+(i+1), x_checkbox + 0.2*w_checkbox, y_checkbox + h_checkbox*0.75, taille_texte_explication+"pt Courier", longueur_max_error, '#EF476F'))
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -213,8 +226,8 @@ function zone_texte(){
|
|||
h_text_zone = 0.15*window.innerHeight
|
||||
nb_caract_min = 1
|
||||
nb_caract_max = 250
|
||||
x_texte_zone = (window.innerWidth/4)
|
||||
y_texte_zone = y_checkbox_init + 3*h_checkbox
|
||||
x_texte_zone = (window.innerWidth/3)
|
||||
y_texte_zone = y_checkbox_init + 2*h_checkbox
|
||||
ecart_texte_zone = 0.2*window.innerHeight
|
||||
|
||||
// Zone de texte : Name
|
||||
|
|
|
@ -165,7 +165,7 @@ explications_analyse={
|
|||
"texte0":{"t":"You have finished selecting the best viewpoints for each object.", "y": window.innerHeight*0.15, "c": color_blanc},
|
||||
"texte1":{"t":"Now I ask you to justify your choices.", "y":window.innerHeight*0.25, "c": color_blanc},
|
||||
"texte2":{"t":"For this, for some objects, the views you have chosen will reappear.", "y":window.innerHeight*0.38, "c": color_blanc},
|
||||
"texte3":{"t":"For each of the viewpoints, you will have to select one or more reasons that made you decide to select these viewpoints.", "y": window.innerHeight*0.52, "c": color_blanc},
|
||||
"texte3":{"t":"For each of the viewpoints, you will have to select one or more reasons that made you decide to select these viewpoints. And order them from the most significant to the least.", "y": window.innerHeight*0.52, "c": color_blanc},
|
||||
}
|
||||
|
||||
explications_analyse_page_1 = [explications_analyse["texte0"], explications_analyse["texte1"], explications_analyse["texte2"], explications_analyse["texte3"]]
|
||||
|
|
Loading…
Reference in New Issue