problème de précision jsxgraphcurve

Accueil Forums Programmation WIMS Programmation d’exercices OEF problème de précision jsxgraphcurve

Vous lisez 9 fils de discussion
  • Auteur
    Messages
    • #3005
      damir
      Modérateur
      Up
      0
      Down
      ::

      Bonjour,

      Nous essayons d’utiliser le type jsxgraphcurve et on a des problèmes de précision. En gros, quelque soit l’endroit où on clique (la réponse est une ligne), la réponse est considérée comme fausse alors que la ligne attendue est correcte.

      Ce problème se voit aussi dans le petit exercice d’exemple de la doc OEF, en remplaçant « line » par « sline ». Il est quasi impossible alors d’obtenir une réponse incorrecte.

      Y’a une solution docteur ?

      Amicalement

      Damir
      P.S.: le code d’exemple :
      \title{ Droite}
      \precision{100}
      \css{<style type= »text/css »>
      .jxgbox {margin-left:auto;margin-right:auto;}
      .jsxgraph_button {text-align:center;}
      </style>}

      \text{dessin=draw(800,300
      hline 400,150,black
      vline 400,150,black
      hline 600,75,black
      vline 600,75,black
      text black,400,150,large,O
      text black,600,75,large,A
      )
      }
      \statement{ Tracer la droite passant par 0 et par A.
      \embed{r1,800×300}
      }
      \answer{}{\dessin;sline,400,150,600,75}{type=jsxgraphcurve}{option=precision 30}

    • #3006
      Julien
      Modérateur
      Up
      0
      Down
      ::

      Bonjour Damir,

      Par défaut la précision est à 5 et l’option s’écrit comme ci-dessous :

      \answer{}{\dessin;sline,400,150,600,75}{type=jsxgraphcurve}{option=precision=30}

      Voili voilou

    • #3007
      damir
      Modérateur
      Up
      0
      Down
      ::

      Salut Julien,

      Le problème ne disparaît pas; si tu essayes ce code (je l’ai remis en entier ci-dessous), on peut cliquer en gros n’importe où, on obtient toujours une réponse juste, et ce, quelque soit la précision (je suis sur auto.u-psud).

      D’ailleurs, que représente la précision ? un nombre de pixels ? c’est exprimé en coordonnées locales du dessin ?

      Merci pour tes explications (et ton déboguage si besoin ! 🙂 )

      Damir

    • #3008
      damir
      Modérateur
      Up
      0
      Down
      ::

      le code :

      \title{ Droite}
      \precision{100}
      \css{<style type= »text/css »>
      .jxgbox {margin-left:auto;margin-right:auto;}
      .jsxgraph_button {text-align:center;}
      </style>}
      
      \text{dessin=draw(800,300
      hline 400,150,black
      vline 400,150,black
      hline 600,75,black
      vline 600,75,black
      text black,400,150,large,O
      text black,600,75,large,A
      )
      }
      \statement{ Tracer la droite passant par 0 et par A.
      \embed{r1,800x300}
      }
      \answer{}{\dessin;sline,400,150,600,75}{type=jsxgraphcurve}{option=precision=5}
    • #3009
      damir
      Modérateur
      Up
      0
      Down
      ::

      En fait (troisième message, désolé), la note est correcte, c’est un bug dans l’affichage « bonne » ou « mauvaise » réponse. Ce devrait être facile à corriger (je crois).

      Par contre, nous sommes en train d’essayer de récupérer les données de réponse de l’étudiant pour mettre des conditions dessus. Ce serait bien de mettre dans la doc (soit dans javacurve, soit dans jsxgraphcurve) un exemple.

      Merci encore.

      Damir

    • #3010
      damir
      Modérateur
      Up
      0
      Down
      ::

      Quatrième message…
      jsxgraphcurve ne semble pas supporter l’analyse autonome de la réponse avec \condition…

      C’est le cas, ou il faut qu’on s’acharne ? Je joins le code qui ne fonctionne pas. En fait, l’image n’apparaît pas, juste un cadre avec un trait de contour…

      Damir

      \title{ Droite}
      \precision{100}
      \css{<style type= »text/css »>
      .jxgbox {margin-left:auto;margin-right:auto;}
      .jsxgraph_button {text-align:center;}
      </style>}
      
      \text{dessin=draw(800,300
      hline 400,150,black
      vline 400,150,black
      hline 600,75,black
      vline 600,75,black
      text black,400,150,large,O
      text black,600,75,large,A
      )
      }
      \statement{ Tracer la droite passant par 0 et par A.
      \embed{r1,800x300;\dessin;sline,400,150,600,75}
      }
      \answer{}{\jstest;}{type=jsxgraphcurve}
      \condition{analyse qui fonctionne}{1=1}
    • #3012
      Julien
      Modérateur
      Up
      0
      Down
      ::

      Bonjour Damir,

      Merci pour le rapport de Bug détaillé.

      Je comprends pas trop ce que tu veux faire au niveau de l’analyse avec condition. A priori elle fonctionne. En écrivant \reply1 dans le statement tu auras accès aux informations pour réaliser tes conditions.
      Le type sline renvoit :
      ##coordonnées des points cliqués
      ## test sur l’origine, test sur la direction, test sur le sens (0 ou 1)
      m_reply$i =$rlist;$origine,$direction,$sens

      Le type line renvoit :
      ##coordonnées des points cliqués
      ## test sur la direction
      m_reply$i =$rlist;$direction

      Voili voilou

      • Cette réponse a été modifiée le il y a 9 années et 5 mois par Julien.
    • #3014
      damir
      Modérateur
      Up
      0
      Down
      ::

      Salut Julien,

      Je voudrais pouvoir analyser la réponse moi-même et dire si elle est juste ou fausse. Il ne s’agit pas de la variable \reply1, qui renvoie la réponse de l’étudiant seulement une fois l’analyse faite. Si on veut analyser soi-même la réponse, on met une variable qui n’existe pas (appelons-la \jstest comme dans mon exemple) dans le second champ de \answer puis on applique la commande \condition APRES la \answer (comme dans mon exemple).

      Ceci fonctionne bien avec d’autres types, mais jsxgraphcurve ne permet pas de récupérer les données dans la variable « inconnue » \jstest.

      On a l’impression que ce n’est pas prévu dans le code de jsxgraphcurve. Par contre, ce devrait être possible d’après la doc sur le type javacurve.

      Je ne sais pas si je suis très clair…

      Amicalement

      Damir

    • #3015
      Julien
      Modérateur
      Up
      0
      Down
      ::

      Merci pour les précisions.

      Avec un peu de retard je te confirme que l’option precision est exprimée en pixel.

      C’est le bout de code suivant qui ne fonctionne pas dans javacurve.line et ses acolytes.

      !if NaN isin $ra$rb$rc or $rm<$precision
      10 : 	  	  	reply$i=
      11 : 	  	  	test=NaN
      12 : 	  	  	!exit 

      Le test NaN isin $ra$rb$rc est incorrect.

      Le code suivant fonctionne mais les autres options sont buggées.

      \title{ Droite}
      \precision{100}
      
      \text{dessin=draw(800,300
      hline 400,150,black
      vline 400,150,black
      hline 600,75,black
      vline 600,75,black
      text black,400,150,large,O
      text black,600,75,large,A
      )
      }
      \statement{ Tracer la droite passant par 0 et par A.
      \embed{r1,800x300}
      
      reply= \reply1
      }
      \answer{}{\dessin;points,\reponselibre}{type=jsxgraphcurve}
      \condition{analyse qui fonctionne}{1=1}

      Voili voilou

      • Cette réponse a été modifiée le il y a 9 années et 5 mois par Julien.
      • Cette réponse a été modifiée le il y a 9 années et 5 mois par Julien.
      • Cette réponse a été modifiée le il y a 9 années et 5 mois par Julien.
      • Cette réponse a été modifiée le il y a 9 années et 5 mois par Julien.
    • #3023
      bernadette
      Maître des clés
      Up
      0
      Down
      ::

      Il faut écrire le code qui suit.
      Dans \embed{} le point-virgule n’est pas équivalent au retour à la ligne
      (il faut que je réfléchisse avant de changer ! sinon, je vais le préciser
      dans la documentation)
      et on n’est pas censé mettre la réponse après sline
      (puisque tu veux l’analyser, il n’y a pas de « bonne réponse », mais là cela ne change pas).

      \title{ Droite}
      \precision{100}
      \css{<style type= "text/css">
      .jxgbox {margin-left:auto;margin-right:auto;}
      .jsxgraph_button {text-align:center;}
      </style>}
      
      \text{dessin=draw(800,300
      hline 400,150,black
      vline 400,150,black
      hline 600,75,black
      vline 600,75,black
      text black,400,150,large,O
      text black,600,75,large,A
      )
      }
      \statement{ Tracer la droite passant par 0 et par A.
      \embed{r1,800x300
      \dessin
      sline}
      }
      \answer{}{\jstest}{type=jsxgraphcurve}
      \condition{analyse qui fonctionne}{1=1}
      • Cette réponse a été modifiée le il y a 9 années et 5 mois par bernadette.
      • Cette réponse a été modifiée le il y a 9 années et 5 mois par bernadette.
Vous lisez 9 fils de discussion
  • Vous devez être connecté pour répondre à ce sujet.