Rechercher
 
 

Résultats par :
 


Rechercher Recherche avancée

Connexion

Récupérer mon mot de passe

Chatbox externe


Derniers sujets
» [JEU] Mon voisin du dessous
Mar 10 Oct 2017 - 19:42 par Wistaro

» Lancement du TI-Concours 2017 !
Sam 20 Mai 2017 - 0:27 par Paulo1026

» Chaînes Youtube des membres
Ven 19 Mai 2017 - 22:41 par Wistaro

» cacul du taux d'intêret
Ven 24 Mar 2017 - 21:50 par m@thieu41

» [Projet] Un mario by tout82
Dim 29 Jan 2017 - 14:09 par Wistaro

» Cherche documentation assembleur TI82stat
Mer 25 Jan 2017 - 12:29 par Ti64CLi++

» Probleme Ti-82 Stats fr
Jeu 12 Jan 2017 - 13:56 par Ti64CLi++

» ROM 82 stats.fr
Jeu 15 Déc 2016 - 10:24 par Ti64CLi++

» flappy bird
Jeu 15 Déc 2016 - 10:23 par Ti64CLi++

Partenaires
TI-Planet Espace-TI : Forum

Faire un don à Tout-82...
Où va cet argent ?
Membres donateurs:- Persalteas (10€)
- Wistaro (5€)
- jo2geek (22€)

Les posteurs les plus actifs du mois


Un curseur en graphique

Voir le sujet précédent Voir le sujet suivant Aller en bas

Un curseur en graphique

Message par Mingerton le Jeu 3 Juil 2014 - 15:43

En codant un petit machin en cette belle après-midi de vacances, je me suis heurté à un problème qui n'avait pas l'air d'en être un au départ : faire un curseur en graphique.
J'avais d'abord utilisé la méthode des listes pour faire un beau curseur, mais mon réglage de fenêtre buggait, donc je m'étais rabattu sur un Input :

Code:
Repeat K=45
getKey→K
Input
End
Text(Y,X,"O
DispGraph

Et bien sûr, ça marche pas... Rolling Eyes 
Mes valeurs X et Y ne sont pas initialisées, sauf dans la fenêtre (Xmin, Ymin, ΔX, ΔY), mais j'ai cru comprendre que Input stockait les coordonnées dans X et Y.

Merci d'avance !  Wink
avatar
Mingerton
----------------------
----------------------

Messages : 251
Points Concours : 103
Productivité : 5
Date d'inscription : 10/10/2013
Localisation : Comté de Kerry, Irlande

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un curseur en graphique

Message par m@thieu41 le Jeu 3 Juil 2014 - 19:10

Oui, X et Y sont bien affectées. C'est ton code qui ne va pas: il faut cliquer sur annul entre le moment où on a validé l'input avec entrer et celui où le codeTouche est enregistré... Ce qui est impossible.
D'ailleurs, pourquoi attendre l'appui sur annul??

Code:
Input
Text(Y,X,"O
DispGraph

Ce n'est pas suffisant?
Il faut appuyer sur entrer pour valider la position.

Attention par contre: X et Y sont les coordonnées en fonction du zoom, et Text attend des coordonnées absolues sur l'écran!

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un curseur en graphique

Message par Linkakro le Jeu 3 Juil 2014 - 19:39

Je confirme. Input utilise le repère graphique et Text utilise le repère des pixels.

Tu peux adapter n'importe quel repère avec la proportionnalité et les offsets. Et arrondi car les pixels ne supporte pas de décimaux. Exemple appliqué à un écran de TI83.
Code:
Input
round((X-Xmin)*94/(Xmax-Xmin),0)->A
round((Ymax-Y)*62/(Ymax-Ymin),0)->B
Text(B,A,"X
Optimisation avec les variables de pas, uniquement pour un écran TI.
Code:
Input
round((X-Xmin)/deltaX,0)->A
round((Ymax-Y)/deltaY,0)->B
Text(B,A,"X
deltaX en anglais et PasX en français représente le pas graphique entre chaque pixel et évite de la calculer soi-même.
round()=arrondi()


Dernière édition par Linkakro le Jeu 3 Juil 2014 - 21:19, édité 1 fois

__________________________________________________________________________
Vétéran du TI-Basic Zilog80. Ti82statfr sur Tout82 depuis 2009 et ti84pocketfr depuis noël 2012. Ti83plusfrUSB (été 2014, concours tiplanet suite du geek). Bidouille un peu d'assembleur Z80.
Incappable de gérer le temps et manque de tact, plutôt serviable.
Je prend les commandes de programme. Je suis motivé par les maths et la physique tant que ce n'est pas une simple copie d'antisèche.
Vous pouvez trouver une grande partie de mes données hébergées dans mon mediafire. Le ZIP et la liste sont périmées depuis longtemps.
coucou Invité What a Face
avatar
Linkakro
----------------------
----------------------

Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un curseur en graphique

Message par Mingerton le Jeu 3 Juil 2014 - 20:18

La boucle est le résidu du reste du code. Mais en effet elle est inutile puisque Input gère la pression. La solution de Linkakro m'a l'air d'être très bien, sauf que je ne comprends pas la présence d'arrondis et la différence entre les extrêmes. Le pas est facilement trouvé, puisqu'il correspond aux pixels tel qu'est mon repère non ?
avatar
Mingerton
----------------------
----------------------

Messages : 251
Points Concours : 103
Productivité : 5
Date d'inscription : 10/10/2013
Localisation : Comté de Kerry, Irlande

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un curseur en graphique

Message par Linkakro le Jeu 3 Juil 2014 - 21:31

J'ai un petit peu plus commenté en éditant.

Je te rappelle que le repère des pixels en TI-Basic ne supporte pas les décimaux. D'où les arrondis.
Calculer le Pas ne suffit pas, il faut orienter correctement et placer les offsets. Par exemple j'ai interverti deux termes justement pour orienter l'ordonnée, et ce n'est pas évident.

Spoiler:
Je me suis obstiné à tout indiquer car je l'ai écrite en simplifiant la formule complète. Je l'ai élaboré moi-même pour le forum mais ce 'est bien sûr pas une exclusivité sur calculatrice. Et personne ne me comprend quand je la décris.

xi: point étudié, repère i
xij: point j de référence, repère i
x11: repère 1 point 1
x12: repère 1 point 2
x21: repère 2 point 1
x22: repère 2 point 2
x1: point converti du repère 1
x2: point converti du repère 2

x21=f(x11)
x22=f(x12)
x2=f(x1)

x2=x21+(x1-x11)*(x22-x21)/(x12-x11)

Et en se rappelant que les choix des points n'est pas forcément une considération de minimum/maximum si un repère est en sens opposé.


Dernière édition par Linkakro le Jeu 3 Juil 2014 - 23:56, édité 2 fois

__________________________________________________________________________
Vétéran du TI-Basic Zilog80. Ti82statfr sur Tout82 depuis 2009 et ti84pocketfr depuis noël 2012. Ti83plusfrUSB (été 2014, concours tiplanet suite du geek). Bidouille un peu d'assembleur Z80.
Incappable de gérer le temps et manque de tact, plutôt serviable.
Je prend les commandes de programme. Je suis motivé par les maths et la physique tant que ce n'est pas une simple copie d'antisèche.
Vous pouvez trouver une grande partie de mes données hébergées dans mon mediafire. Le ZIP et la liste sont périmées depuis longtemps.
coucou Invité What a Face
avatar
Linkakro
----------------------
----------------------

Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un curseur en graphique

Message par m@thieu41 le Jeu 3 Juil 2014 - 23:35

Heu... C'est quoi x11, x1, x12 etc?

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un curseur en graphique

Message par Linkakro le Jeu 3 Juil 2014 - 23:52

Commentaire ajouté avec le texte concerné.

__________________________________________________________________________
Vétéran du TI-Basic Zilog80. Ti82statfr sur Tout82 depuis 2009 et ti84pocketfr depuis noël 2012. Ti83plusfrUSB (été 2014, concours tiplanet suite du geek). Bidouille un peu d'assembleur Z80.
Incappable de gérer le temps et manque de tact, plutôt serviable.
Je prend les commandes de programme. Je suis motivé par les maths et la physique tant que ce n'est pas une simple copie d'antisèche.
Vous pouvez trouver une grande partie de mes données hébergées dans mon mediafire. Le ZIP et la liste sont périmées depuis longtemps.
coucou Invité What a Face
avatar
Linkakro
----------------------
----------------------

Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un curseur en graphique

Message par m@thieu41 le Jeu 3 Juil 2014 - 23:58

Ah ok c'est plus clair maintenant merci Smile

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un curseur en graphique

Message par Mingerton le Ven 4 Juil 2014 - 13:11

C'est pour adapter à n'importe quelle fenêtre en fait si je comprends bien.

Le curseur se déplace toujours de pixel en pixel sans tenir compte de l'échelle ou se déplace t-il d'unité en unité (selon l'échelle en fait) ?
Je pose cette question pour savoir si c'était possible d'avoir le curseur de l'Input qui se déplace de plusieurs pixels à la fois, histoire de pas avoir à se taper la traversée de tout l'écran graphique à chaque fois qu'il faut faire un choix.
avatar
Mingerton
----------------------
----------------------

Messages : 251
Points Concours : 103
Productivité : 5
Date d'inscription : 10/10/2013
Localisation : Comté de Kerry, Irlande

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un curseur en graphique

Message par Linkakro le Ven 4 Juil 2014 - 19:00

Le déplacement du curseur du système, y compris avec Input, ne permet pas de déplacer autrement que par un pixel, donc d'un pas du graphe. Tu devras réaliser le curseur et son déplacement autrement.

__________________________________________________________________________
Vétéran du TI-Basic Zilog80. Ti82statfr sur Tout82 depuis 2009 et ti84pocketfr depuis noël 2012. Ti83plusfrUSB (été 2014, concours tiplanet suite du geek). Bidouille un peu d'assembleur Z80.
Incappable de gérer le temps et manque de tact, plutôt serviable.
Je prend les commandes de programme. Je suis motivé par les maths et la physique tant que ce n'est pas une simple copie d'antisèche.
Vous pouvez trouver une grande partie de mes données hébergées dans mon mediafire. Le ZIP et la liste sont périmées depuis longtemps.
coucou Invité What a Face
avatar
Linkakro
----------------------
----------------------

Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un curseur en graphique

Message par Mingerton le Ven 4 Juil 2014 - 20:23

Ok merci ! Bon ba alors je pense que je vais voir pour faire un autre curseur avec des listes et une fenêtre mieux réglée, parce que c'est pas super pratique de choisir entre 5985 pixels à chaque fois ! Wink
avatar
Mingerton
----------------------
----------------------

Messages : 251
Points Concours : 103
Productivité : 5
Date d'inscription : 10/10/2013
Localisation : Comté de Kerry, Irlande

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un curseur en graphique

Message par m@thieu41 le Sam 5 Juil 2014 - 0:10

Si tu veux des conseils... Wink

Je ne comprends pas vraiment le principe du curseur que tu veux en fait.

__________________________________________________________________________
ZSNAKE Mon premier (et unique) jeu en ASM:
Un Snake 2 joueurs (2caltos)
-> Je travaille sur une version plus stable du jeu, je poste dès que possible.
avatar
m@thieu41
----------------------
----------------------

Messages : 934
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un curseur en graphique

Message par Mingerton le Sam 5 Juil 2014 - 9:44

Ba en gros c'est le code en général pour faire un curseur en graphique que je recherche.

La solution avec Input étant assez peu ergonomique dans un programme où il faut faire un choix sur seulement quelques parties de l'écran, j'y préfère un curseur représenté par un Plot où les points sont reliés entre eux et où leurs coordonnées sont L1 et L2.

Du genre ça :
Code:
{0,4,4,0,0→L1
{0,0,-4,-4,0→L2
Plot1(xyline,L1,L2,.

J'ai pas testé, mais là je pense que si on ajoute une boucle pour gérer le mouvement, on aura un beau curseur carré de 4*4, et on pourra avec le getKey l'incrémenter de plusieurs pixels à la fois, contrairement à l'Input.

Mais comme je l'ai dit, quand j'ai fait ce curseur, ma fenêtre a buggé, donc je sais pas trop comment faire du coup...
avatar
Mingerton
----------------------
----------------------

Messages : 251
Points Concours : 103
Productivité : 5
Date d'inscription : 10/10/2013
Localisation : Comté de Kerry, Irlande

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un curseur en graphique

Message par Linkakro le Dim 6 Juil 2014 - 0:54

Que qualifies-tu de bug de la fenêtre ?

Je ne vois pas ce que tu peux manquer.
Tu dois actualiser l'affichage lorsque tu as modifié les listes de statsplot. Rappelle toi que les statsplots sont dans le repère graphique, et que cela peut dépasser de l'écran.
Code:
FnOff // évite les courbes
ZStandard // idouane pour mon exemple avec un pas de 1 en graphe.
{1,2->L1
{1,2->L2
Plot1(xyline,L1,L2,.
Repeat K=45
DispGraph // actualise le graphe
Repeat K
getKey->K
End
L1-(K=24)+(K=26->L1
L2+(K=25)-(K=34->L2
End

__________________________________________________________________________
Vétéran du TI-Basic Zilog80. Ti82statfr sur Tout82 depuis 2009 et ti84pocketfr depuis noël 2012. Ti83plusfrUSB (été 2014, concours tiplanet suite du geek). Bidouille un peu d'assembleur Z80.
Incappable de gérer le temps et manque de tact, plutôt serviable.
Je prend les commandes de programme. Je suis motivé par les maths et la physique tant que ce n'est pas une simple copie d'antisèche.
Vous pouvez trouver une grande partie de mes données hébergées dans mon mediafire. Le ZIP et la liste sont périmées depuis longtemps.
coucou Invité What a Face
avatar
Linkakro
----------------------
----------------------

Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un curseur en graphique

Message par Mingerton le Dim 6 Juil 2014 - 12:05

J'ai ce code, mais j'ai ajouté des limites à l'écran pour éviter de plus voir le curseur. Un truc dans ce genre :

Code:
L1+(L1<1)-(L1>94->L1
L2+(L2<1)-(L2>64->L2

Mais ça doit pas être correct car au bout du premier coup il se met à fire n'importe quoi (curseur placé "aléatoirement", de taille variable).
avatar
Mingerton
----------------------
----------------------

Messages : 251
Points Concours : 103
Productivité : 5
Date d'inscription : 10/10/2013
Localisation : Comté de Kerry, Irlande

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un curseur en graphique

Message par Linkakro le Dim 6 Juil 2014 - 13:33

Tes conditions booléennes sont appliquées à chaque terme de la liste indépendamment les uns des autres. Si un point de la liste est contrôlé par une condition, d'autres points ne le seront pas forcément. Donc le curseur se déforme.
Donc tu dois réaliser des tests en posant des conditions sur L'ENSEMBLE des points.

Code:
// fenêtre déjà préparée

{0,4,4,0,0→L1
{0,0,-4,-4,0→L2
Plot1(xyline,L1,L2,.

Repeat K=45
DispGraph
Repeat K
getKey→K
End

//avertissement : condition valide dès la ti82stats
// une ti82 non-stats nécessite chaque point
If max(L1>0 and L1<94) and max(L1>0 and L1<62)
Then
L1-(K=24)+(K=26→L1
L2+(K=25)-(K=34→L2
End

End

Cependant écrire des conditions générales sur tous les points me semble excessif, donc je pense intéressant de poser les conditions générales seulement à partir des points extrêmes connus à l'avance.

Code:
// fenêtre déjà préparée

{0,4,4,0,0→L1
{0,0,-4,-4,0→L2
Plot1(xyline,L1,L2,.

Repeat K=45
DispGraph
Repeat K
getKey→K
End

If L1(2)>0 and L1(4)<94 and L2(2)>0 and L2(4)<64
Then
L1-(K=24)+(K=26→L1
L2+(K=25)-(K=34→L2
End

End

Utiliser des variables de coordonnées indépendantes des listes est judicieux pour poser les conditions.
Premier cas, les contrôler au même moment que les listes. Cela double les conditions ou le nombre de commande.
Deuxième cas, les listes sont constantes comme des sprites et on y somme les variables de coordonnées. Cela nécessite plus de calcul et mémoire de liste.

Code:
// fenêtre déjà préparée

{0,4,4,0,0→L3
{0,0,-4,-4,0→L4
0→A
0→B
Plot1(xyline,L1,L2,.

Repeat K=45
DispGraph

L3+A→L1
L4+B→L2

Repeat K
getKey→K
End

max(0,min(94,A-(K=24)+(K=26→A
max(0,min(94,B+(K=25)-(K=34→B

End

__________________________________________________________________________
Vétéran du TI-Basic Zilog80. Ti82statfr sur Tout82 depuis 2009 et ti84pocketfr depuis noël 2012. Ti83plusfrUSB (été 2014, concours tiplanet suite du geek). Bidouille un peu d'assembleur Z80.
Incappable de gérer le temps et manque de tact, plutôt serviable.
Je prend les commandes de programme. Je suis motivé par les maths et la physique tant que ce n'est pas une simple copie d'antisèche.
Vous pouvez trouver une grande partie de mes données hébergées dans mon mediafire. Le ZIP et la liste sont périmées depuis longtemps.
coucou Invité What a Face
avatar
Linkakro
----------------------
----------------------

Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Un curseur en graphique

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum