Accueil › Forums › Programmation WIMS › Programmation d’exercices OEF › Dessin avec animation
- Ce sujet contient 2 réponses, 2 participants et a été mis à jour pour la dernière fois par
Alhena, le il y a 11 années et 10 mois.
-
AuteurMessages
-
-
7 août 2011 à 13:52 #870
Alhena
Participant::Bonjour,
Je débute dans la programmtion sous WIMS, et j'essaie actuellement d'insérer dans un document un dessin avec animation aléatoire. Je rencontre deux écueils:
Le premier, ce n'est qu'un détail, mais je n'arrive pas à mettre des légendes horizontales. Quand j'utilise la commande textup, toutes mes notations sont verticales. J'ai esssayé avec rotate, mais apparemment ça ne s'applique pas au texte, seulement aux objets dessinés.
Le deuxième, c'est que je n'ai pas réussi à le rendre aléatoire de manière « propre ». En fait, je voudrais avoir un dessin qui représente une courbe + une tangente en un point donné + une animation qui montre la tangente en un point qui se rapproche du point fixé (j'essaie de reproduire une animation du document « dérivée » de B. Perrin-riou). Ca, j'ai réussi, mais quand j'utilise une fonction aléatoire, définie à l'aide de def{function f=random(liste de fonctions)}, ça ne me trace pas la tangente qui bouge. Je me suis dit que c'était parce que dans l'équation de la tangente, il fallait évaluer ma fonction aléatoire et sa dérivée en le paramètre s, et qu'il n'y arrivait pas alors j'ai essayé de « forcer » les évaluations avec def{real a=evalue(f,x=s)}, mais ça ne marche pas.
Finalement, ce que j'ai fait c'est de me donner un entier aléatoire, et selon sa valeur, d'afficher un des dessins animés que j'ai créés, avec des if. Mais ça ne me paraît pas très propre, et je voulais savoir s'il n'y avait pas une meilleure manière de faire.
Voilà, désolée si la question est évidente, mais je n'ai pas réussi à trouver de solution dans l'aide de WIMS, ou sur le net, donc si quelqu'un a des idées…
Merci d'avance!
-
7 août 2011 à 14:29 #871
bernadette
Maître des clés::Alhena a écrit :
Le premier, ce n'est qu'un détail, mais je n'arrive pas à mettre des légendes horizontales. Quand j'utilise la commande textup, toutes mes notations sont verticales. J'ai esssayé avec rotate, mais apparemment ça ne s'applique pas au texte, seulement aux objets dessinés.
Le deuxième, c'est que je n'ai pas réussi à le rendre aléatoire de manière « propre ». En fait, je voudrais avoir un dessin qui représente une courbe + une tangente en un point donné + une animation qui montre la tangente en un point qui se rapproche du point fixé (j'essaie de reproduire une animation du document « dérivée » de B. Perrin-riou). Ca, j'ai réussi, mais quand j'utilise une fonction aléatoire, définie à l'aide de def{function f=random(liste de fonctions)}, ça ne me trace pas la tangente qui bouge. Je me suis dit que c'était parce que dans l'équation de la tangente, il fallait évaluer ma fonction aléatoire et sa dérivée en le paramètre s, et qu'il n'y arrivait pas alors j'ai essayé de « forcer » les évaluations avec def{real a=evalue(f,x=s)}, mais ça ne marche pas.
Finalement, ce que j'ai fait c'est de me donner un entier aléatoire, et selon sa valeur, d'afficher un des dessins animés que j'ai créés, avec des if. Mais ça ne me paraît pas très propre, et je voulais savoir s'il n'y avait pas une meilleure manière de faire.
Voilà, désolée si la question est évidente, mais je n'ai pas réussi à trouver de solution dans l'aide de WIMS, ou sur le net, donc si quelqu'un a des idées…
Merci d'avance!
Pour la première question, j'ai peur que cela ne soit pas possible actuellement. Le texte est en effet toujours horizontal. Je vois peut-être une solution mais elle serait compliquée.
Pour la deuxième question, c'est def{real a=evalue(f,x=s)} qui ne va pas. Le résultat doit être une fonction de s. Donc essaye avec def{text a=evalue(f,x=s)} ou def{function a=evalue(f,x=s)}.
Bernadette
Voilà le source du doc dérivée
def{text liste= sin(x), cos(x), 1/(1+x^2), (1+x^2)^(-1/2)}
def{function f= randitem(liste)}
def{real a= random(0,1,0.5,1,2 )}
def{integer c=randint(1..2)}
def{real b= a + c}
def{function h= c*(1-s)}
def{text P=a, evalue(f,x=a)}
def{real fa=evalue(f,x=a)}
def{text Pt=a,fa}
def{text P0=a, 0}
def{text Q0=0, evalue(f, x=a)}
def{function g= diff(f,x)}
def{real der= evalue(g,x=a)}
def{real deriv= floor(10^3*evalue(g,x=a))/10^3}
def{text legende= 0, -1}
def{function tangente= der*(x-a)+item(2,P)}
def{function tangente= der*(x-a)+item(2,P)}
def{text P1= a+(h),0}
def{text Q=a+(h), evalue(f, x=a+(h))}
def{text Q1=0, evalue(f, x=a+(h))}
def{real mx= min(a-1,-1)}
def{real Mx= a+c+1}
def{real my= -1}
def{real My =2}
def{function pente=(item(2,Q)-item(2,P))*(x-(a))/(h)+item(2,P)}
def{real larg= Mx-mx}
def{real haut= My-my}
def{integer prop1= 100}
def{integer prop2= 100*haut/larg}draw{300,300}{
animate 24, 0.5, 5
xrange mx,Mx
yrange my-1,My
arrow 0,0, 0,My,10,black
arrow 0,0, Mx,0 ,10,black
vline 0,0, black
hline 0,0, black
linewidth 3
line P,Q, red
linewidth 3
plot yellow, tangente
plot red, pente
linewidth 2
plot black, f
linewidth 1
dline P, P0, green
dline P, Q0, green
dline Q, P1, red
dline Q, Q1 , red
text black, legende, normal,f(x)=f, a=a, h=h
text red, Q, normal,(a+h,f(a+h))
} -
7 août 2011 à 16:38 #872
Alhena
Participant::Super, ça marche!
Effectivement, je n'avais pas pensé qu'il fallait une fonction de s.
Et merci pour le source, ça m'a permis de résoudre mon premier problème: mon texte s'affichait toujours vertical (écriture de bas vers le haut) au lieu d'être horizontal (de gauche vers droite) parce que j'utilisais la commande « textup » et non « text ». Donc merci!
Bonne après-midi!
-
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.