Arrêt non contrôlé d'un curseur

Rousseau-Wallon shared this question 2 years ago
Answered

Bonjour,

J'ai un curseur "a" qui prend les valeurs entières entre 1 et 500. Je lui associe le point E = TriangleCentre(A,B, C, a), en orange sur la figure.

Je veux que le curseur s'arrête lorsque E = G, centre de gravité de ABC. J'ai donc muni le curseur d'une vitesse égale à Si(E==G,0,1).

Lorsque je lance l'animation le curseur ne s'arrête pas au moment attendu. Mais il s'arrête si je remplace sa borne maximale 500 par 100. Pourquoi ? Est-ce lié à la vitesse d'exécution ? Comment pallier à ce problème ?

En vous remerciant

Comments (8)

photo
1

Bonjour ,

l'animation se répète si on la lance depuis la borne supérieure .

On peut pallier à cela en lançant l'animation à la borne supérieure -1 par exemple

Cordialement

photo
1

D'accord, ça marche pour une borne 500. Mais pas pour 1500 si on met 1499 dans GO.

?

photo
1

Effectivement , ça semble être une question de vitesse du curseur et il faut descendre très bas pour que ça fonctionne . J'ai mis 0.1

photo
1

Version améliorée qui change la vitesse en cours d'animation

photo
1

Oui mais en fait on ne sait pas quelle est la valeur du curseur pour laquelle il doit s'arrêter.

J'ai essayé de fabriquer un curseur "manuel" (avec un point qui se déplace sur un cercle-, mais le problème reste le même.

photo
1

Bonjour,

Si le temps de calcul pour un pas du curseur n'est pas suffisant pour maintenir la vitesse, GGB saute autant de pas jusqu'à ce que la position du curseur soit synchrone avec la vitesse spécifiée.

Alternative : Calculer les points du triangle dans une séquence et insérer le nom d'objet du numéro du point du triangle déterminé de la séquence dans le curseur (min ou max). Cela arrête le curseur au point recherché. Le curseur et son animation n'ont alors qu'une valeur de divertissement.

photo
1

Je ne suis pas sûr d'avoir compris ta méthode rami, mais si celle-ci nécessite de connaître à l'avance le point d'arrêt, ce n'est pas une solution car en pratique je ne connais pas le numéro du point ETC, seulement ses coordonnées.

Mais tu m'as donné une idée : on crée la liste l1 = Séquence(TriangleCentre(A, B, C, n), n, 1, 1500). Le numéro du point, s'il existe, est alors Position(G, l1).

Bonne journée


PS : j'en profite pour poser une question : en écrivant plutôt, directement, Position(G, Séquence(TriangleCentre(A, B, C, n), n, 1, 1500)), sans calculer séparément les points de la liste donc, cela permet-il à GGB de faire moins de calculs ? (une liste de 1500 points voire plus cela peut poser problème).

photo
1

Ihre Idee ist hervorragend und meine französisch Kenntnisse ungenügend.

Bis zum GGB maximum von 3053 Kimberling-Dreieckspunkten hatte ich keine Probleme in ggb5.0

© 2023 International GeoGebra Institute