Tout 82
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
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
Un curseur en graphique EmptyDim 16 Oct 2022 - 21:11 par Wistaro

» Bonne année 2018!
Un curseur en graphique EmptyVen 2 Nov 2018 - 19:42 par Ti64CLi++

» Lancement du TI-Concours 2017 !
Un curseur en graphique EmptySam 20 Mai 2017 - 0:27 par Paulo1026

» Chaînes Youtube des membres
Un curseur en graphique EmptyVen 19 Mai 2017 - 22:41 par Wistaro

» cacul du taux d'intêret
Un curseur en graphique EmptyVen 24 Mar 2017 - 21:50 par m@thieu41

» [Projet] Un mario by tout82
Un curseur en graphique EmptyDim 29 Jan 2017 - 14:09 par Wistaro

» Cherche documentation assembleur TI82stat
Un curseur en graphique EmptyMer 25 Jan 2017 - 12:29 par Ti64CLi++

» Probleme Ti-82 Stats fr
Un curseur en graphique EmptyJeu 12 Jan 2017 - 13:56 par Ti64CLi++

» ROM 82 stats.fr
Un curseur en graphique EmptyJeu 15 Déc 2016 - 10:24 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
Aucun utilisateur

Le Deal du moment : -34%
-34% LG OLED55B3 – TV OLED 4K 55″ 2023 ...
Voir le deal
919 €

Un curseur en graphique

3 participants

Aller en bas

Un curseur en graphique Empty Un curseur en graphique

Message par Mingerton 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
Mingerton
Mingerton
----------------------
----------------------

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

Revenir en haut Aller en bas

Un curseur en graphique Empty Re: Un curseur en graphique

Message par m@thieu41 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!
m@thieu41
m@thieu41
----------------------
----------------------

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

. : TI-82 Stats.fr

Revenir en haut Aller en bas

Un curseur en graphique Empty Re: Un curseur en graphique

Message par Linkakro 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
Linkakro
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

Revenir en haut Aller en bas

Un curseur en graphique Empty Re: Un curseur en graphique

Message par Mingerton 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 ?
Mingerton
Mingerton
----------------------
----------------------

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

Revenir en haut Aller en bas

Un curseur en graphique Empty Re: Un curseur en graphique

Message par Linkakro 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:


Dernière édition par Linkakro le Jeu 3 Juil 2014 - 23:56, édité 2 fois
Linkakro
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

Revenir en haut Aller en bas

Un curseur en graphique Empty Re: Un curseur en graphique

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

Heu... C'est quoi x11, x1, x12 etc?
m@thieu41
m@thieu41
----------------------
----------------------

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

. : TI-82 Stats.fr

Revenir en haut Aller en bas

Un curseur en graphique Empty Re: Un curseur en graphique

Message par Linkakro Jeu 3 Juil 2014 - 23:52

Commentaire ajouté avec le texte concerné.
Linkakro
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

Revenir en haut Aller en bas

Un curseur en graphique Empty Re: Un curseur en graphique

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

Ah ok c'est plus clair maintenant merci Smile
m@thieu41
m@thieu41
----------------------
----------------------

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

. : TI-82 Stats.fr

Revenir en haut Aller en bas

Un curseur en graphique Empty Re: Un curseur en graphique

Message par Mingerton 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.
Mingerton
Mingerton
----------------------
----------------------

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

Revenir en haut Aller en bas

Un curseur en graphique Empty Re: Un curseur en graphique

Message par Linkakro 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.
Linkakro
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

Revenir en haut Aller en bas

Un curseur en graphique Empty Re: Un curseur en graphique

Message par Mingerton 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
Mingerton
Mingerton
----------------------
----------------------

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

Revenir en haut Aller en bas

Un curseur en graphique Empty Re: Un curseur en graphique

Message par m@thieu41 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.
m@thieu41
m@thieu41
----------------------
----------------------

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

. : TI-82 Stats.fr

Revenir en haut Aller en bas

Un curseur en graphique Empty Re: Un curseur en graphique

Message par Mingerton 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...
Mingerton
Mingerton
----------------------
----------------------

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

Revenir en haut Aller en bas

Un curseur en graphique Empty Re: Un curseur en graphique

Message par Linkakro 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
Linkakro
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

Revenir en haut Aller en bas

Un curseur en graphique Empty Re: Un curseur en graphique

Message par Mingerton 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).
Mingerton
Mingerton
----------------------
----------------------

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

Revenir en haut Aller en bas

Un curseur en graphique Empty Re: Un curseur en graphique

Message par Linkakro 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
Linkakro
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

Revenir en haut Aller en bas

Un curseur en graphique Empty Re: Un curseur en graphique

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

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