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 » Arc de cercle et communication série
Telec Hors ligne Membre Points: 33 Défis: 0 Message

Arc de cercle et communication série

Posté le 21/06/2014 00:27

Chalut !
Je suis en train de faire un programme qui va dessiner la spirale de Fibonacci et je dois par conséquent tracer des arcs de cercle, mais je ne vois pas trop comment faire... Des idées ?

Et aut' chose aussi (rien à voir avec Fibonacci ), en me baladant sur le site j'ai vus que l'on pouvait utiliser la com série de la calto, mais c'est possible de le faire sur une Graph 35+ USB non modifiée ?

Merci d'avance !


Smashmaster Hors ligne Ancien modérateur Points: 4561 Défis: 253 Message

Citer : Posté le 21/06/2014 00:55 | #


Pour tracer des arcs de cercles, tu peux par exemple :
Tracer des courbes (comme dans le mode Graph de la calculatrice)
Utiliser des F-lines pour tracer plusieurs petits segments, formant une courbe.
Exemple :

For -10->A To 10 Step 0.1
F-Line A-0.1 , (A-0.1)^2 , A , A^2 [green]//Trace la courbe d'équation f(x) = x^2[/green]
Next


Je ne connais pas d'autre méthode.

Essaye peut-être la première méthode, je pense qu'il est possible de tracer la spirale de Fibonnaci en passant par les coordonnées polaires (la courbe d'équation r=θ ressemble déjà très fortement à la spirale de Fibonnaci) .
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 21/06/2014 01:37 | #


Pour la communication en série, ça se fait par les syscalls donc c'est des adds-in code en c pour des graphs 35+ modifiées
Telec Hors ligne Membre Points: 33 Défis: 0 Message

Citer : Posté le 21/06/2014 10:56 | #


Alors j'ai essayé de le faire à coup de graph :
C=0=>Graph Y=sqrt(R²-(X+A-R)²)+B+0sqrt(-X+R/2)
C=1=>Graph Y=sqrt(R²-(X+A-R)²)+B+0sqrt(X-R/2)
C=2=>Graph Y=-sqrt(R²-(X+A-R)²)+B+0sqrt(X-R/2)
C=3=>Graph Y=-sqrt(R²-(X+A-R)²)+B+0sqrt(-X+R/2)

Avec C l'orientation, R le rayon, A l’abscisse et B l'ordonnée.
Et ça m'affiche deux/trois quarts de cercles déconnectés, soit ma calto déconne, soit j'ai mal réglé ma fenêtre...

Pour la com série, je pensais aussi émuler le EA-200, comme y'a plein de fonctions en rapport, mais bon, y me faudrait un EA-200 pour décrypter comment ils communiquent... Pour l'instant je vais me contenter de la com entre 2 calto, j’attends juste mon analyseur logique. J'vous tiendrais au courant.
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 21/06/2014 11:07 | #


Je pense pas que ca soit possible mais bon ...
Voila le topic ou il en avait été question: http://www.planet-casio.com/Fr/forums/topic12737-1-Idees_de_tutoriels.html
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 21/06/2014 12:26 | #


test ça comme équation, ça devrait marcher : r (θ) = r * phi^((2θ)/π)
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Ne0tux Hors ligne Membre d'honneur Points: 3524 Défis: 265 Message

Citer : Posté le 21/06/2014 13:20 | #


Le plus simple serait de passer par les coordonnées polaires (ou simplement se placer dans le plan complexe avec l'écriture exponentielle). Ainsi tu pourras régler toi même le rayon de ton arc, le pas de l'angle et surtout tu pourras choisir la longueur de l'arc :

For 1->D to 360
R.exp(i.D.pi/360)
PlotOn Rep Ans, Imp Ans
Next

Où R est le rayon, et les caractéristiques de la boucle For sont à choisir en fonction du pas que tu veux et la longueur de l'arc désirée. Bien sûr, pense à paramétrer le ViewWindows de façon à ce qu'il soit centré sur 0, ce sera plus simple.
Mes principaux jeux : Ice Slider - CloneLab - Arkenstone

La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Ziqumu Hors ligne Membre d'honneur Points: 3055 Défis: 9 Message

Citer : Posté le 21/06/2014 13:38 | #


pour le port série, ca dépend de ce que tu veux faire. Si c'est pour communiquer avec une autre calculatrice, c'est impossible. Si c'est pour communiquer avec quelquehcose dont tu peux programmer l'algo de reception (une arduino par exemple) alors oui, c'est possible en utilisant les fonctions qui sont destiné à communiquer avec d'autre périphériques en basic. Le role de l'arduino sera de se faire passer pour ce périphérique pour recevoir la donnée que tu envoie.
Telec Hors ligne Membre Points: 33 Défis: 0 Message

Citer : Posté le 22/06/2014 09:58 | #


Je reviens aux nouvelles !
Alors, j'ai testé la méthode de Ne0tux, ça marche nickel (bon un peu lent quand même : 1min30 pour tracer jusqu'à la huitième itération).

Et par com entre deux caltos, j'voulais dire : savoir comment elles se communiquent les programmes pour pouvoir en envoyer depuis un µC.

Merci à tous, c'est rare des forums avec autant de bonnes réponses aussi vite.
Ne0tux Hors ligne Membre d'honneur Points: 3524 Défis: 265 Message

Citer : Posté le 22/06/2014 10:27 | #


@Telec : la boucle que je t'ai proposée a un pas unitaire. Vu la résolution de l'écran, tu peux facilement mettre un pas de 2 sans aucun effet secondaire, si ce n'est une temps d’exécution divisé par deux.

Suivant ton application, tu peux probablement encore augmenter le pas (avec le paramètre "Step" dans la boucle "For"). A toi de prendre une valeur qui convient, quitte à faire un pas "dynamique" en fonction de l'itération qui est en train d'être tracée.

Après tout dépend de ce que tu attends de ton programme : qu'il soit rapide, ou surtout fidèle ? La méthode actuelle est l'une des plus fidèles, mais il y a moyen de faire plus rapide.

Par exemple tu pourrais mettre un pas important, stocker les coordonnées des points calculés dans des List, pour ensuite utiliser le "SuperDrawStat" afin de relier les points entre eux par de petits segments.
Mes principaux jeux : Ice Slider - CloneLab - Arkenstone

La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 22/06/2014 10:36 | #


Ne0tux a écrit :
@Telec : la boucle que je t'ai proposée a un pas unitaire. Vu la résolution de l'écran, tu peux facilement mettre un pas de 2 sans aucun effet secondaire, si ce n'est une vitesse d’exécution divisée par deux.

C'est le temps d'exécution qui va être divisé par deux
Ne0tux Hors ligne Membre d'honneur Points: 3524 Défis: 265 Message

Citer : Posté le 22/06/2014 10:47 | #


Exact.

Mais je crois que c'était clair pour tout le monde.
Mes principaux jeux : Ice Slider - CloneLab - Arkenstone

La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 22/06/2014 12:02 | #


Salut Telec,
La méthode de Ne0tux est surement la meilleure mais essaye cette fonction polaire : r (θ) = r * phi^((2θ)/π)
Elle devrait te tracer le courbe de Fibonacci en entier et tu pourra l'étudier dans GRAPH


JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Telec Hors ligne Membre Points: 33 Défis: 0 Message

Citer : Posté le 22/06/2014 12:03 | #


Le problème de Graph(X,Y)=(, c'est qu'apparemment, il efface tout derrière lui, donc pas possible d'en utiliser plusieurs, et si je stocke les données dans des list, ça me fait 180 valeurs par itération (en moyenne) donc 1440 valeurs pour 8 itérations...
Apparemment, ça s'efface que quand on change les paramètres T0, c'est normal ?
C'est normal. Du coup pas moyen de changer l’incrémentation.

J'avais pas vus ta réponse Scientifix, mais je ne crois pas que phi soit dans la graph 35, ou je me trompe ?
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 22/06/2014 12:22 | #


non mais phi et r tu dois les remplacer par des valeurs (ou des variables) si je ne me trompe pas
Enfin je veux dire que phi c'est le nombre d'or et r le rayon
Ne0tux Hors ligne Membre d'honneur Points: 3524 Défis: 265 Message

Citer : Posté le 22/06/2014 12:24 | #


@Telec : tu peux faire deux Lists par itération ("deux" car une pour les abscisses, l'autre pour les ordonnées), puis les "Graph(X,Y)=(" qui correspondent.

Cette fonction n'efface pas la fenêtre graphique, c'est le "ViewWindows" qui efface l'écran. Si toutes tes Lists ont le même nombre de points, tu n'auras pas à toucher au ViwWindows.

Au pire, tu peux stocker les itérations déjà tracées dans une "Picture", en pensant bien à la mettre en fond avec la fonction "BG-Pict".

EDIT : oui sinon Scientifix et Cartix ont raison, tu auras directement le tracé avec cette fonction (mais en moins drôle).
Mes principaux jeux : Ice Slider - CloneLab - Arkenstone

La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Telec Hors ligne Membre Points: 33 Défis: 0 Message

Citer : Posté le 22/06/2014 14:24 | #


Dans les mêmes conditions de mon premier programme, je gagne 30sec avec le Graph(X,Y)=(. Mais comme il utilise une image, c'est pas super... J'vais donc rester sur l'idée de base, avec un pitch dynamique.

Et en effet je ne veux pas étudier la courbe, je veux juste la dessiner (oui j'ai des occupations bizarres). Mais je retiens la fonction, elle a l'air sympa.
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 22/06/2014 15:34 | #


Salut
Dans r (θ) = r * phi^((2θ)/π) , il faut que tu remplaces r par le rayon que tu veux et phi par (1+racine(5))/2.
Après tu n'as plus qu'à tracer et le tour est joué

Voila ce que ça donne sur wolfram alpha avec r=1 et phi=1,618 (forme arrondie de phi)

http://www.wolframalpha.com/input/?i=r+%3D++1.618%5E%28%282%CE%B8%29%2F%CF%80%29+++
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75

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 52 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