Accueil › Forums › Programmation WIMS › Programmation d’exercices OEF › Type jsxgraph et objet 'glider'
Étiqueté : jsxgraph glider
- Ce sujet contient 3 réponses, 2 participants et a été mis à jour pour la dernière fois par
Julien, le il y a 7 années et 11 mois.
-
AuteurMessages
-
-
21 avril 2015 à 23:55 #2896
declieu69
Participant::Bonjour.
Je commence à me plonger dans l’utilisation de jsxgraph et je n’ai pas réussi à utiliser le type ‘glider’ (point sur un objet) pour donner une réponse.
Cela vient peut être de la syntaxe qui est du type
brd.create('glider', [x,y,objet],{name:'M'});
.
J’ai tentéjxgbox_rep1=brd.create('glider', [jxgbox_var1,cercle,{name:'M'});
dans la création de la figure et dans la 4ème ligne du \embed, j’ai misjxgbox_var1=[1,0]
mais le point M n’est pas créé. Cela me parait normal puisque la syntaxe n’est certainement pas respectée à cause de la présence des crochets dans la définition de jxgbox_var1 alors que ceux-ci ne devraient pas être présents lors de la définition du type ‘glider’ (j’ai bon ?)
Existe-t-il une astuce qui permettrait d’utiliser le type glider ?Cordialement.
-
Ce sujet a été modifié le il y a 7 années et 11 mois par
declieu69.
Thomas Charon
Lycée Lumière à Lyon -
Ce sujet a été modifié le il y a 7 années et 11 mois par
-
22 avril 2015 à 13:58 #2899
Julien
Modérateur::Hello,
Le bout de code suivant devrait répondre à tes attentes. Tu pourrais aussi faire en sorte que la correction s’anime lorsque les réponses sont erronées en réinjectant du javascript à la correction à l’aide de la commande moveto (<=de mémoire).
L’exemple si dessous donne la bonne place du point en vert mais on pourrait corriger en déplaçant le point voir plus si affinité.
feedback{1=1}{ <script> point=brd.create('point',[\a*0.5+0.5,2],{name:'Correction',Color:'green',fixed:'true'}); </script>}
Actuellement je m’amuse à effectuer des types de réponses qui auront des corrections animées mais il me manque du temps de libre pour finaliser.
voili voilou
\title{WimsAnalyseJsxgraphGlider} \language{fr} \range{-5..5} \author{Julien LYOTARD} \email{Julien.lyotard@ac-dijon.fr} \computeanswer{no} \format{html} \precision{10000} \css{<style type="text/css"> .jsxx { border: 10px solid #393b40; margin: 2px; padding: 2px; background-color: #e6ebff; border-radius: 4px; text-align:justify; } </style>} Définition de la fonction \rational{a=random(-1,1)*randint(1..3)/randint(1..4)} \rational{b=randint(-4..4)/randint(1..2)} \rational{c= randint(-3..3)} \function{f=random(\a*x^2+\b*x+\c,\a*x^3+\b*x^2+\c*x)} Vire les coefficients nuls et les fractions a/b \function{f = pari(\f)} \function{fjs=wims(replace internal ^2 by *x in \f)} \function{fjs=wims(replace internal ^3 by *x*x in \fjs)} Calcul de la tangente \rational{x0 = randint(-3..3)/2} \real{y0 = evalue(\f,x=\x0)} \function{fp = diff(\f,x)} \function{fp=wims(replace internal ^2 by *x in \fp)} \real{p0 = evalue(\fp,x=\x0)} Repérage \real{xmin = -2.5} \real{xmax = 2.5} \text{A=slib(function/bounds \f, x,\xmin,\xmax)} \integer{ymin = \A[1]-1} \integer{ymax = \A[2]+1} \integer{ytext= \A[2]-2} \text{script= var brd = JXG.JSXGraph.initBoard('jxgbox', {axis:false, boundingbox: [-3,\ymax,3,\ymin]}); xaxis = brd.create('axis', [[0, 0], [1, 0]], {ticks: { ticksDistance: 1, insertTicks: false}}); yaxis = brd.create('axis', [[0, 0], [0, 1]],{ ticks: { ticksDistance: 1, insertTicks: false}}); /*definition du repere au dessus*/ /*definition de la fonction et la derive*/ var ff = function(x) { return \fjs; }; var ffp=function(x) { return \fp;}; /*trace de la fonction*/ var fct= brd.create('functiongraph', [function(x){return ff(x);},-3,3],{strokeColor:'blue'}); /*trace de la tangente*/ jxgbox_rep1=brd.create('glider',jxgbox_var1,{name:'Bouge moi', strokeColor:'black',highlightFillOpacity:0}); var ptan=brd.create('point',[function(){ return jxgbox_rep1.X()+1;},function(){ return jxgbox_rep1.Y()+ ffp(jxgbox_rep1.X());}],{visible:false}); var tan=brd.create('line',[jxgbox_rep1,ptan],{strokeColor:'red'}); var txt = brd.create('text', [0.5,\ytext,function(){ return '<b>Abscisse du point "Bouge moi" : </b>'+ jxgbox_rep1.X().toFixed(2) +'<br /><b>Nombre dérivé =</b>'+((ptan.Y()-jxgbox_rep1.Y())/(ptan.X()-jxgbox_rep1.X())).toFixed(2) +'<br /><b>Équation de la tangente :</b><br /> y='+ ((ptan.Y()-jxgbox_rep1.Y())/(ptan.X()-jxgbox_rep1.X())).toFixed(2)+'x' +(-((ptan.Y()-jxgbox_rep1.Y())/(ptan.X()-jxgbox_rep1.X()))*ptan.X()+ptan.Y()).toFixed(2); }],{cssClass:'jsxx',fontSize:14}); } \statement{ Soit la fonction \(f) définie sur l'intervalle [\xmin,\xmax] par \(f(x)=\f) <div class="wimscenter"> \embed{r3,900x500 jxgbox \script jxgbox_var1=[0,0,fct] } </div> On note \(f') la fonction dérivée de la fonction \(f).<br /> Calculer \(f'(x)) : \(f'(x)=)\embed{reply1,20}<br /> <br /> Déterminer la valeur de la dérivée pour \(x_0 = \x0) : \(f'(\x0))= \embed{reply2,10}<br /> <br /> Vérifier avec le graphique la valeur de la dérivée.<br /> } \answer{Dérivée de la fonction \(f) :}{\fp}{type=formal} \answer{Valeur de la dérivée en \(x_0 = \x0) :}{\p0}{type=numeric} \answer{}{\x0,\y0}{type=jsxgraph}{option=precision=10} matrix{rep=} real{test=abs(\rep[1;1]-\x0)} real{test1=abs(\rep[1;2]-\y0)} condition{Le point "Bouge moi" est bien placé. La valeur de son abcisse est de \(\x0)}{ \test < 0.1}
-
26 avril 2015 à 19:18 #2914
declieu69
Participant::Merci, ça marche impec.
Par contre pour le feedback, je ne suis pas sur d’avoir bien compris : tu proposes d’utiliser directement les commandes javascript de jsxgraph sans passer par la bibliothèque wims ? mais :- est-ce possible quand on crée un exo avec createxo (ce que je fait actuellement)?
- Si je le fais dans un module oef, faut-il renseigner l’entête avec les deux fichiers spécifiques pour l’utilisation de jsxgraph ou cela est-ce fait systématiquement ?
-
Cette réponse a été modifiée le il y a 7 années et 11 mois par
declieu69.
-
Cette réponse a été modifiée le il y a 7 années et 11 mois par
declieu69.
-
Cette réponse a été modifiée le il y a 7 années et 11 mois par
declieu69.
-
Cette réponse a été modifiée le il y a 7 années et 11 mois par
declieu69.
Thomas Charon
Lycée Lumière à Lyon -
26 avril 2015 à 20:35 #2919
Julien
Modérateur::Hello,
Est-ce possible quand on crée un exo avec createxo (ce que je fait actuellement)? Oui sans aucun souci.
Si tu le fais dans un module pas de problème non plus contrairement à la réponse que je t’avais faites sur le post ci-dessous où il fallait importer les anstype dans ton module.http://wimsedu.info/?topic=remplacement-des-reponses-analysees-automatiquement-type-coord
Un exemple d’utilisation de feedback. Il est loin d’être parfait car il s’execute quelque soit la réponse de l’élève mais pour modifier c’est très classique.
\title{WimsAnalyseJsxgraphCurseur} \language{fr} \range{-5..5} \author{Julien Lyotard} \email{Julien.Lyotard@ac-dijon.fr} \computeanswer{no} \format{html} \precision{10000} Définition de la fonction \integer{a=randint(1..5)} \function{f=\a*x^2} \function{f = pari(\f)} Repérage \real{xmin = -4} \real{xmax = 4} \integer{ymin = -2} \integer{ymax = 10} \integer{ytext= 8} \text{script= var brd = JXG.JSXGraph.initBoard('jxgbox', {axis:false, boundingbox: [\xmin,\ymax,\xmax,\ymin]}); xaxis = brd.create('axis', [[0, 0], [1, 0]], {ticks: { ticksDistance: 1, insertTicks: false}}); yaxis = brd.create('axis', [[0, 0], [0, 1]],{ ticks: { ticksDistance: 1, insertTicks: false}}); /*definition du repere au dessus*/ /*curseur*/ jxgbox_rep1= brd.createElement('slider', [[1,2],[3,2],[1,2,5]],{name:'a',strokeColor:'black',fillColor:'red',snapWidth:1}); /*definition de la fonction*/ var ff = function(x) { return jxgbox_rep1.Value()*x*x; }; /*trace de la fonction*/ var fct= brd.create('functiongraph', [function(x){return ff(x);},-4,4],{strokeColor:'blue'}); var txt = brd.create('text', [0.5,\ytext,function(){ return 'y='+ jxgbox_rep1.Value().toFixed(0)+'x²'}],{cssClass:'jsxx',fontSize:14}); } \statement{ Tracer la courbe d'équation : \(y=\a x^2) <div class="wimscenter"> \embed{reply1,800x600 jxgbox \script jxgbox_var1=2} </div> } \answer{}{\a}{type=jsxgraph}{option=precision=5} \integer{aaa=} \condition{Le curseur est bien placé donc le tracé de la courbe est correct}{\aaa-\a=0} \feedback{1=1}{ <script> point=brd.create('point',[\a*0.5+0.5,2],{name:'Correction',Color:'green',fixed:'true'}); </script>}
-
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.