Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » faire tourner un point ou un trait en basic
Manolo Hors ligne Membre Points: 910 Défis: 13 Message

faire tourner un point ou un trait en basic

Posté le 30/07/2018 13:42

bonjour, ça fait quelques mois que la question me taraude l'esprit, mais toujours sans réponse.
ma question est: quelle est l'équation qui permet de faire tourner un point ou une ligne comme un bâton qui tourne, je vous donne un exemple de ce que je veux faire.

ViewWindows 1,127,0,1,63,0
64→A
32→B
Do
'equation que je veux'→C
'equation que je veux'→D
PlotOn A,B
A+C→A
B+D→B
LpWhile 1


et ça fait un rond, mais je veux pas utiliser la fonction Circle car ont ne peut pas faire un effet de bâton qui tourne ou juste un demi rond. merci de me répondre.


Zezombye Hors ligne Rédacteur Points: 1756 Défis: 13 Message

Citer : Posté le 03/08/2018 23:35 | #


Le α tu dois le remplacer par ton angle (si tu mets celui dans le menu des caractères, ça fera une erreur syntaxe).
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Drak Hors ligne Rédacteur Points: 1925 Défis: 40 Message

Citer : Posté le 03/08/2018 23:37 | #


Dans la formule, tu remplaces le α par la valeur de l'angle de rotation en radians. Pour faire simple, tu peux remplacer α (On le prononce "Alpha") par π/4 , pour avoir une rotation de 22.5°. En définitive, n'importe quelle valeur comprise entre 0 et 2 multipliée par π.
Eon the Dragon : version 1.2
Let's have a look!
Marre de ces RPGs qui t'imposent des classes, des compétences et des sorts ? Crée tes propres capacités sur Eon the Dragon ! Des monstres, des dragons et des combats aussi épiques que difficiles t'attendent !
Un RPG unique et immense t'attend ! Joue dès maintenant à Aventura, le Royaume Poudingue !
Vous aussi, soyez swag et rejoignez Planète Casio !
Manolo Hors ligne Membre Points: 910 Défis: 13 Message

Citer : Posté le 03/08/2018 23:44 | #


Et donc je mets quoi à la place de ce "a"?
Drak Hors ligne Rédacteur Points: 1925 Défis: 40 Message

Citer : Posté le 03/08/2018 23:45 | #


π/4



Eon the Dragon : version 1.2
Let's have a look!
Marre de ces RPGs qui t'imposent des classes, des compétences et des sorts ? Crée tes propres capacités sur Eon the Dragon ! Des monstres, des dragons et des combats aussi épiques que difficiles t'attendent !
Un RPG unique et immense t'attend ! Joue dès maintenant à Aventura, le Royaume Poudingue !
Vous aussi, soyez swag et rejoignez Planète Casio !
Manolo Hors ligne Membre Points: 910 Défis: 13 Message

Citer : Posté le 03/08/2018 23:47 | #


Et donc je mets quoi à la place de ce "à"?


Ajouté le 03/08/2018 à 23:48 :
J'avais pas vue qu'il y avais une seconde page, deso.

Ajouté le 04/08/2018 à 00:02 :
Ça marche pas...
Drak Hors ligne Rédacteur Points: 1925 Défis: 40 Message

Citer : Posté le 04/08/2018 00:04 | #


Ah, dommage ! On peut difficilement savoir pourquoi ça ne marche pas si tu te contentes de dire « ça marche pas ! ». Montre ton code, par exemple (un copier-coller, c'est rapide !)
Eon the Dragon : version 1.2
Let's have a look!
Marre de ces RPGs qui t'imposent des classes, des compétences et des sorts ? Crée tes propres capacités sur Eon the Dragon ! Des monstres, des dragons et des combats aussi épiques que difficiles t'attendent !
Un RPG unique et immense t'attend ! Joue dès maintenant à Aventura, le Royaume Poudingue !
Vous aussi, soyez swag et rejoignez Planète Casio !
Manolo Hors ligne Membre Points: 910 Défis: 13 Message

Citer : Posté le 04/08/2018 00:12 | #


Rad
64->V
32->W
74->X
32->Y
ViewWindow 1,127,0,1,63,0
X+iY->A
V+iW->O
Do
O+(A-O)*e puissance iπ/4->C
F-Line V,W,ImP C,ReP C
LpWhile 1
Drak Hors ligne Rédacteur Points: 1925 Défis: 40 Message

Citer : Posté le 04/08/2018 00:22 | #


Donc, dans ton code, A est le point à faire tourner et O le centre de l'écran.

Tu fais ensuite une boucle où tu dessines. Mais tu n'effaces pas ton écran, donc tu ne verras pas vraiment ta ligne s'animer.
Je te recommande de glisser un Cls dans ta boucle.

Ensuite, je te conseille de mettre des parenthèses autour de iπ/4, pour être sûr que la puissance s'applique à tout.

Enfin, je pense que ça devrait le faire. Tu aurais donc quelque chose comme ceci :
Rad
64->V
32->W
74->X
32->Y
ViewWindow 1,127,0,1,63,0
X+iY->A
V+iW->O
Do
Cls
O+(A-O)*e ^ (iπ/4)→C
F-Line V,W,ImP C,ReP C
LpWhile 1

Eon the Dragon : version 1.2
Let's have a look!
Marre de ces RPGs qui t'imposent des classes, des compétences et des sorts ? Crée tes propres capacités sur Eon the Dragon ! Des monstres, des dragons et des combats aussi épiques que difficiles t'attendent !
Un RPG unique et immense t'attend ! Joue dès maintenant à Aventura, le Royaume Poudingue !
Vous aussi, soyez swag et rejoignez Planète Casio !
Manolo Hors ligne Membre Points: 910 Défis: 13 Message

Citer : Posté le 04/08/2018 09:01 | #


Ça fait juste un trait qui bouge pas mais j'ai compris pourquoi, en fait si la valeur "O" ne change pas alors la valeur "C" ne va pas changer non plus...
Lephenixnoir Hors ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 04/08/2018 09:36 | #


Si tu veux que ça tourne c'est l'angle qu'il faut faire varier. Si tu modifies O ta ligne va juste se déplacer sans tourner.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Manolo Hors ligne Membre Points: 910 Défis: 13 Message

Citer : Posté le 04/08/2018 09:40 | #


Ok mais je fais comment ?
Lephenixnoir Hors ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 04/08/2018 09:41 | #


Ben tu mets une variable dessus :

0→A
Do
Cls
O+(A-O)*e ^ (iA)→C
F-Line V,W,ImP C,ReP C
A+π/12→A
LpWhile 1

Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Manolo Hors ligne Membre Points: 910 Défis: 13 Message

Citer : Posté le 04/08/2018 09:50 | #


Yes ça marche! Merci!

Ajouté le 04/08/2018 à 11:23 :
Si vous avez le temps pour me donner 2,3 explications je serai pas contre, merci.
Lephenixnoir Hors ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 04/08/2018 11:59 | #


Lephenixnoir a écrit :
Un nombre complexe, c'est un peu comme deux nombres classiques. i c'est un nombre complexe « spécial ». Tous les nombres complexes s'écrivent a + iba et b sont des nombres réels habituels. C'est un peu comme si on disait (a, b) : il y a deux nombres réels mis « ensemble » grâce à ce i.

La partie a s'appelle partie réelle et b s'appelle partie imaginaire. On pourrait dire premier élément et deuxième élément si on voulait ; c'est vraiment juste une paire.

On aime bien utiliser les complexes pour représenter des points dans le plan : le point de coordonnées (x, y) (donc x sur l'axe horizontal et y sur l'axe vertical) est représenté par x + iy. Facile !

e^(ia) c'est aussi un nombre complexe. Je ne te dis pas quelle est sa partie imaginaire et sa partie réelle. On l'écrit e^(ia) parce qu'on s'en sert souvent et que c'est court, voilà tout.

Donc, jusque-là, on a des nombres complexes qui représentent des points dans le plan et on a e^(ia).

Les complexes, ce sont plus ou moins des nombres. On peut faire des calculs avec ; on peut les additionner et les multiplier.

Prenons un nombre complexe x + iy qui représente le point (x, y). Si tu le multiplies par e^(ia) tu obtiens un nouveau complexe qui a une partie réelle et une partie imaginaire, appelons-les c et d. Le résultat de la multiplication est donc un nombre complexe qui représente un point (c, d).

La magie se produit alors : (c, d) c'est le point que tu obtiens si tu fais tourner (x, y) de a radians autour du point (0, 0). Ça je ne peux pas t'expliquer facilement pourquoi ça se produit, c'est assez compliqué.

Si tu comprends ça on pourra finir avec la variable O.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Manolo Hors ligne Membre Points: 910 Défis: 13 Message

Citer : Posté le 04/08/2018 12:29 | #


C'est bon pour les complexes je comprends mieux (mais toujours pas pour le e^(IA)
Ninestars Hors ligne Membre Points: 2462 Défis: 24 Message

Citer : Posté le 04/08/2018 13:36 | #


Sinon, tout simplement faire
V+Lcos(A)->X
W+Lsin(A)->Y

V et W coordonnées du centre
A l'angle
L le rayon
... ça reste bien plus simple ^^'
Lephenixnoir Hors ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 04/08/2018 13:38 | #


Ça casse un peu nos efforts pour implémenter la méthode de Darks non ?

À part ça tu as raison oui :3
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Manolo Hors ligne Membre Points: 910 Défis: 13 Message

Citer : Posté le 04/08/2018 15:13 | #


en effet, ça marche bien et ça prend moins de stockage...

Ajouté le 04/08/2018 à 15:22 :
regardez ce petit code que j'ai fait pour faire un dessin avec le calcul du cercle

Rad
32→V
64→W
52→X
64→Y
0→Z
ViewWindow 1,127,0,1,63,0
X+iY→A
V+iW→O
For 2→U To 1270 Step 2
O+(A-O)*e^(iZ)→C
F-Line U,V,ImP C,ReP C
Z+π/6→Z
Next
Ninestars Hors ligne Membre Points: 2462 Défis: 24 Message

Citer : Posté le 04/08/2018 15:22 | #


Et tant qu'à faire, autant utiliser les degrés en passer les calculs en mode degré avec Deg

Ajouté le 04/08/2018 à 15:27 :
Hmmm... tu es sûr de toi ?
Parce que le F-Line a comment paramètre U qui varie de 2 à 2270. C'est bizarre ça d'ailleurs ! Qu'est ce que tu cherches à faire comme cela ?
Plutôt faire varier l'angle dans la boucle de 0 à 360
Lephenixnoir Hors ligne Administrateur Points: 24670 Défis: 170 Message

Citer : Posté le 04/08/2018 15:27 | #


Ça par contre ça ne marchera pas avec les complexes Ninestars

Sinon, Manolo, pourquoi est-ce que tu fais 639 tours de boucles alors que quand tu vas de π/6 en π/6 il suffit de 12 tours pour faire le tour du cercle ?

Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Manolo Hors ligne Membre Points: 910 Défis: 13 Message

Citer : Posté le 04/08/2018 15:36 | #


si le U va aussi loin c'est juste pour l'image ne s’arrête pas pile a la fin de la boucle. mais essaye le. et d’où tu le sors ton 639?

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 144 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd