Discuss Scratch
- Discussion Forums
- » Français
- » Problème sur un script
- Supergames-fr
- Scratcher
41 posts
Problème sur un script
Bonjour à toutes et à tous,
J'espère ne pas vous déranger, mais j'ai besoin de vos connaissances pour résoudre un problème sur un script…
Voici le script de base :
Quelques informations :
- Quand le moteur est à l'arrêt, l'aiguille est orientée à 45° ;
- Quand le moteur tourne à 8500 tr/min, l'aiguille est orientée à -135°.
Le bloc précédent est celui correspondant quand la direction d'une aiguille est comprise entre 0 et 180. Attention, l'aiguille est vers la gauche sur le dessin du costume. Et quand je mets le régime moteur au-delà de 4250 tr/min, l'aiguille est en direction négative (en-dessous de 0°). Or, avec ce script, l'aiguille n'arrête pas de tourner en rond. J'ai fait presque tout le tour au niveau de la modification des scripts, mais rien n'y fait…
Je vous le dis : le bloc doit commencer par “tourner droite de … degrés” et la fin doit être (/ 10) ou (/ -10)
Cela fait plusieurs heures que je cherche la solution… J'en ai MARRE !!!!!!!!
Alors, s'il vous plaît, aidez-moi, je serais très ravi !
Merci d'avance,
Supergames-fr
J'espère ne pas vous déranger, mais j'ai besoin de vos connaissances pour résoudre un problème sur un script…
Voici le script de base :
tourner droite de (((((RPM) / (31.48148148148148)) - (direction)) + (45)) / (10)) degrés
Quelques informations :
- Quand le moteur est à l'arrêt, l'aiguille est orientée à 45° ;
- Quand le moteur tourne à 8500 tr/min, l'aiguille est orientée à -135°.
Le bloc précédent est celui correspondant quand la direction d'une aiguille est comprise entre 0 et 180. Attention, l'aiguille est vers la gauche sur le dessin du costume. Et quand je mets le régime moteur au-delà de 4250 tr/min, l'aiguille est en direction négative (en-dessous de 0°). Or, avec ce script, l'aiguille n'arrête pas de tourner en rond. J'ai fait presque tout le tour au niveau de la modification des scripts, mais rien n'y fait…
Je vous le dis : le bloc doit commencer par “tourner droite de … degrés” et la fin doit être (/ 10) ou (/ -10)
Cela fait plusieurs heures que je cherche la solution… J'en ai MARRE !!!!!!!!
Alors, s'il vous plaît, aidez-moi, je serais très ravi !
Merci d'avance,
Supergames-fr
Last edited by Supergames-fr (Nov. 17, 2018 19:14:40)
J'aime tout ce qui touche à l'automobile.
si (tu trouves que mes projets sont bien,) alors
N'hésite pas à laisser un coeur, un favori ou bien tout simplement :
ABONNE-TOI !!!
Je te souhaite une merveilleuse année 2020 !!!
- SBissay
- Scratcher
500+ posts
Problème sur un script
Alors, on veut une progression linéaire, j'imagine ?
Alors il faut chercher la formule qui sera du style : rotation = a * RPM + b, ce qui nous donne le système de deux équations à deux inconnues suivant :
On obtient de suite b = 45 grâce à 1., et on l'insère dans 2. :
D'où a = -180 / 8500 = -9 / 425
Donc la direction vaut -9 / 425 * RPM + 45.
Maintenant, pour savoir de combien il faut tourner, il faut enlever ta direction, et donc
Alors il faut chercher la formule qui sera du style : rotation = a * RPM + b, ce qui nous donne le système de deux équations à deux inconnues suivant :
- 45 = a * 0 + b
- -135 = a * 8500 + b
On obtient de suite b = 45 grâce à 1., et on l'insère dans 2. :
- b = 45
- -135 = a * 8500 + 45
D'où a = -180 / 8500 = -9 / 425
Donc la direction vaut -9 / 425 * RPM + 45.
Maintenant, pour savoir de combien il faut tourner, il faut enlever ta direction, et donc
tourner droite de (((((-9)/(425)) * (RPM)) + (45)) - (direction)) degrés(Et je ne vois vraiment pas d'où sort ton (/10) …).
- Supergames-fr
- Scratcher
41 posts
Problème sur un script
Alors, on veut une progression linéaire, j'imagine ?
Alors il faut chercher la formule qui sera du style : rotation = a * RPM + b, ce qui nous donne le système de deux équations à deux inconnues suivant :
- 45 = a * 0 + b
- -135 = a * 8500 + b
On obtient de suite b = 45 grâce à 1., et on l'insère dans 2. :
- b = 45
- -135 = a * 8500 + 45
D'où a = -180 / 8500 = -9 / 425
Donc la direction vaut -9 / 425 * RPM + 45.
Maintenant, pour savoir de combien il faut tourner, il faut enlever ta direction, et donctourner droite de (((((-9)/(425)) * (RPM)) + (45)) - (direction)) degrés(Et je ne vois vraiment pas d'où sort ton (/10) …).
Bonjour, merci pour ton conseil…
Le (/10) est présent pour retarder le mouvement de l'aiguille par rapport au régime du moteur.
À bientôt,
Supergames-fr
J'aime tout ce qui touche à l'automobile.
si (tu trouves que mes projets sont bien,) alors
N'hésite pas à laisser un coeur, un favori ou bien tout simplement :
ABONNE-TOI !!!
Je te souhaite une merveilleuse année 2020 !!!
- Supergames-fr
- Scratcher
41 posts
Problème sur un script
Re-bonjour, Alors, on veut une progression linéaire, j'imagine ?
Alors il faut chercher la formule qui sera du style : rotation = a * RPM + b, ce qui nous donne le système de deux équations à deux inconnues suivant :
- 45 = a * 0 + b
- -135 = a * 8500 + b
On obtient de suite b = 45 grâce à 1., et on l'insère dans 2. :
- b = 45
- -135 = a * 8500 + 45
D'où a = -180 / 8500 = -9 / 425
Donc la direction vaut -9 / 425 * RPM + 45.
Maintenant, pour savoir de combien il faut tourner, il faut enlever ta direction, et donctourner droite de (((((-9)/(425)) * (RPM)) + (45)) - (direction)) degrés(Et je ne vois vraiment pas d'où sort ton (/10) …).
J'ai essayé ton script, mais il ne fonctionne pas…
La direction de l'aiguille est inversée quand je fais tourner le moteur à plus de 4250 tr/min. Au passage, je me suis trompé en tapant le message original, car à 8500 rpm, l'aiguille est en fait orientée à -45°.
Donc STP, peut-tu me refaire le script en tenant compte de la petite modification ? Je t'en serai reconnaissant.
Merci d'avance et à plus tard,
Supergames-fr
J'aime tout ce qui touche à l'automobile.
si (tu trouves que mes projets sont bien,) alors
N'hésite pas à laisser un coeur, un favori ou bien tout simplement :
ABONNE-TOI !!!
Je te souhaite une merveilleuse année 2020 !!!
- bidulule
- Scratcher
1000+ posts
Problème sur un script
suffit de remplacer les valeurs que tu veux modifier dans sa formule ^^Re-bonjour, Alors, on veut une progression linéaire, j'imagine ?
Alors il faut chercher la formule qui sera du style : rotation = a * RPM + b, ce qui nous donne le système de deux équations à deux inconnues suivant :
- 45 = a * 0 + b
- -135 = a * 8500 + b
On obtient de suite b = 45 grâce à 1., et on l'insère dans 2. :
- b = 45
- -135 = a * 8500 + 45
D'où a = -180 / 8500 = -9 / 425
Donc la direction vaut -9 / 425 * RPM + 45.
Maintenant, pour savoir de combien il faut tourner, il faut enlever ta direction, et donctourner droite de (((((-9)/(425)) * (RPM)) + (45)) - (direction)) degrés(Et je ne vois vraiment pas d'où sort ton (/10) …).
J'ai essayé ton script, mais il ne fonctionne pas…
La direction de l'aiguille est inversée quand je fais tourner le moteur à plus de 4250 tr/min. Au passage, je me suis trompé en tapant le message original, car à 8500 rpm, l'aiguille est en fait orientée à -45°.
Donc STP, peut-tu me refaire le script en tenant compte de la petite modification ? Je t'en serai reconnaissant.
Merci d'avance et à plus tard,
Supergames-fr
- SBissay
- Scratcher
500+ posts
Problème sur un script
Bidulule a tout dit, suffit de re-résoudre le système d'équations.
On a :
Donc b = 45 reste vrai, et on remplace dans 2. : -90 = a * 8500, soit a = -90 / 8500 = -9 / 850
Du coup le bloc devient
On a :
- 45 = a * 0 + b
- -45 = a * 8500 + b
Donc b = 45 reste vrai, et on remplace dans 2. : -90 = a * 8500, soit a = -90 / 8500 = -9 / 850
Du coup le bloc devient
tourner droite de (((((-9) / (850)) * (RPM)) + (45))- (direction)) degrés
- Supergames-fr
- Scratcher
41 posts
Problème sur un script
Re-re-bonjour, Bidulule a tout dit, suffit de re-résoudre le système d'équations.
On a :
- 45 = a * 0 + b
- -45 = a * 8500 + b
Donc b = 45 reste vrai, et on remplace dans 2. : -90 = a * 8500, soit a = -90 / 8500 = -9 / 850
Du coup le bloc devienttourner droite de (((((-9) / (850)) * (RPM)) + (45))- (direction)) degrés
Désolé de te casser la tête, mais le script que tu m'as conseillé est exactement pareil que le précédent (la direction est inversée, puisque quand le moteur tourne à 6375 tr/min, l'aiguille est orientée à 45° et indique le zéro du compte-tours)…
J'espère que je ne te dérange pas trop mais peut-tu me re-refaire le script STP ????? Je t'en serai ULTRA reconnaissant !
Merci d'avance,
Supergames-fr
J'aime tout ce qui touche à l'automobile.
si (tu trouves que mes projets sont bien,) alors
N'hésite pas à laisser un coeur, un favori ou bien tout simplement :
ABONNE-TOI !!!
Je te souhaite une merveilleuse année 2020 !!!
- Supergames-fr
- Scratcher
41 posts
Problème sur un script
Le projet que je refais n'est pas partagé, mais il y a l'autre version : Puis-je avoir accès au projet en question ?
Parce que là, en théorie ça fait ce que tu demandes, donc il faudrait que je voie l'implémentation pour comprendre ce qui ne va pas.
https://scratch.mit.edu/projects/251008308/
J'aime tout ce qui touche à l'automobile.
si (tu trouves que mes projets sont bien,) alors
N'hésite pas à laisser un coeur, un favori ou bien tout simplement :
ABONNE-TOI !!!
Je te souhaite une merveilleuse année 2020 !!!
- Supergames-fr
- Scratcher
41 posts
Problème sur un script
En fait il faut que tu modifies le bloc C'est gentil, mais ce n'est pas sur un projet qui fonctionne que je vais voir ce qui ne va pas
s'orienter à (...)du lutin “RPM Needle” en le remplaçant par le script que j'ai mis sur le tout premier message. Il a comme intêret de retarder le mouvement de l'aiguille par rapport au régime moteur.
Bon courage !
Last edited by Supergames-fr (Nov. 20, 2018 14:36:16)
J'aime tout ce qui touche à l'automobile.
si (tu trouves que mes projets sont bien,) alors
N'hésite pas à laisser un coeur, un favori ou bien tout simplement :
ABONNE-TOI !!!
Je te souhaite une merveilleuse année 2020 !!!
- Supergames-fr
- Scratcher
41 posts
Problème sur un script
Bonsoir, j'espère ne pas te déranger, mais, C'est gentil, mais ce n'est pas sur un projet qui fonctionne que je vais voir ce qui ne va pas
Est-ce que tu as trouvé une solution au problème ? C'est pas que je suis impatient, mais je veux vraiment voir ce que ça donne !
Si oui, pourrais-tu me montrer le bloc ? Je le rappelle : il faut remplacer le bloc
s'orienter à (...)par un bloc en
tourner droite de (...) degrés
Merci d'avance,
Supergames-fr
J'aime tout ce qui touche à l'automobile.
si (tu trouves que mes projets sont bien,) alors
N'hésite pas à laisser un coeur, un favori ou bien tout simplement :
ABONNE-TOI !!!
Je te souhaite une merveilleuse année 2020 !!!
- Try5t4n
- Scratcher
100+ posts
Problème sur un script
imagine que tu tourne de 360 degres c est normal que l aiguille reste a sa place
point towards ((3d::#999)+(100% pen::#125)+(games::#148)+(tests::#589)::custom)::hat pen
create::list
MATHEMATHICS
- SBissay
- Scratcher
500+ posts
Problème sur un script
Bon, sur ton exemple le lutin n'est pas orienté correctement dans l'éditeur, du coup les valeurs de multiplicateur sont faussées, mais on va faire sans.
J'ai trouvé d'où venait le souci : on travaille modulo 360 (des angles, et un angle de 361 c'est un angle de 1), et ça pose des problèmes lors des soustractions, car il faut avoir 350 = -10 quand ça nous arrange.
Bref, voici un début de script, qui fonctionne sur ton projet, avec le multiplicateur à modifier si tu mets ton lutin dans un autre orientation :
Explication : il faut commencer par mettre la direction modulo 360, pour que -90 soit 270, par exemple.
Ensuite, il faut séparer le cas où la soustraction est supérieure à 360 pour éviter de se retrouver avec des sauts de 36.1° quand ça devrait être 0.1°…
Bref, pas le courage de me lancer dans une explication détaillée de l'arithmétique en modulo, mais ça, chez moi, ça fonctionne.
J'ai trouvé d'où venait le souci : on travaille modulo 360 (des angles, et un angle de 361 c'est un angle de 1), et ça pose des problèmes lors des soustractions, car il faut avoir 350 = -10 quand ça nous arrange.
Bref, voici un début de script, qui fonctionne sur ton projet, avec le multiplicateur à modifier si tu mets ton lutin dans un autre orientation :
si <((((RPM) / (31.481481481481)) + (45))-((direction) modulo (360))) > [360]> alors
tourner droite de ((((((RPM) / (31.481481481481)) + (45))-((direction) modulo (360))) - (360)) / (10)) degrés
sinon
tourner droite de (((((RPM) / (31.481481481481)) + (45))-((direction) modulo (360))) / (10)) degrés
end
Explication : il faut commencer par mettre la direction modulo 360, pour que -90 soit 270, par exemple.
Ensuite, il faut séparer le cas où la soustraction est supérieure à 360 pour éviter de se retrouver avec des sauts de 36.1° quand ça devrait être 0.1°…
Bref, pas le courage de me lancer dans une explication détaillée de l'arithmétique en modulo, mais ça, chez moi, ça fonctionne.
Last edited by SBissay (Nov. 29, 2018 19:32:08)
- Supergames-fr
- Scratcher
41 posts
Problème sur un script
Bonsoir, Bon, sur ton exemple le lutin n'est pas orienté correctement dans l'éditeur, du coup les valeurs de multiplicateur sont faussées, mais on va faire sans.
J'ai trouvé d'où venait le souci : on travaille modulo 360 (des angles, et un angle de 361 c'est un angle de 1), et ça pose des problèmes lors des soustractions, car il faut avoir 350 = -10 quand ça nous arrange.
Bref, voici un début de script, qui fonctionne sur ton projet, avec le multiplicateur à modifier si tu mets ton lutin dans un autre orientation :si <((((RPM) / (31.481481481481)) + (45))-((direction) modulo (360))) > [360]> alors
tourner droite de ((((((RPM) / (31.481481481481)) + (45))-((direction) modulo (360))) - (360)) / (10)) degrés
sinon
tourner droite de (((((RPM) / (31.481481481481)) + (45))-((direction) modulo (360))) / (10)) degrés
end
Explication : il faut commencer par mettre la direction modulo 360, pour que -90 soit 270, par exemple.
Ensuite, il faut séparer le cas où la soustraction est supérieure à 360 pour éviter de se retrouver avec des sauts de 36.1° quand ça devrait être 0.1°…
Bref, pas le courage de me lancer dans une explication détaillée de l'arithmétique en modulo, mais ça, chez moi, ça fonctionne.
Merci de ton aide, le script fonctionne désormais PARFAITEMENT BIEN !!!!
Merci, Merci et encore MERCI pour tout !
Supergames-fr
J'aime tout ce qui touche à l'automobile.
si (tu trouves que mes projets sont bien,) alors
N'hésite pas à laisser un coeur, un favori ou bien tout simplement :
ABONNE-TOI !!!
Je te souhaite une merveilleuse année 2020 !!!
- Discussion Forums
- » Français
- » Problème sur un script