Rechercher
Connexion
Chatbox externe
Derniers sujets
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 |
[Graphismes] Les fonctions de dessin
4 participants
[Graphismes] Les fonctions de dessin
Tout d'abord, si vous utilisez des fonctions graphiques, il faut bien penser à:
Donc, une fois ces détails réglés, on peut donc commander à chaque pixel de s'allumer ou s'éteindre.
Je procéderai dans l'ordre:
fonction EffDessin ( ClrDraw ):
Elle se trouve en faisant: [2nd][prgm][1]
Elle efface de votre écran graphique tout ce qui est dessiné avec les fonctions dont je parlerai dans ce topic.
Utilisez la, vous allez vite comprendre, c'est très simple.
fonction Ligne( ( Line( ):
Elle se trouve en faisant: [2nd][prgm][2]
Elle sert à tracer une ligne d'un point à un autre sur l'écran.
Elle peut même en sortir.
On l'utilise comme ça:
Ligne( Xéxrémité1 , Yéxtrémité1 , Xéxtrémité2 , Yéxtrémité2 , couleur.
Les coordonnées des points dépendent des dimensions de votre fenêtre.
La couleur: si on ne la précise pas, ou qu'on met 1, ou une variable égale à 1, Les pixels de la ligne s'allument.
Si on met 0 , les pixels de la ligne s'éteignent.
fonction Horizontale ( Horizontal ):
Elle se trouve en faisant [2nd][prgm][3]
Elle sert à tracer une droite horizontale:
Horizontale 47
va tracer une ligne horizontale sur votre écran en Y=47.
Facile.
fonction Verticale ( Vertical ):
Elle se trouve en faisant [2nd][prgm][4]
Elle sert à tracer une droite verticale sur votre écran.
Verticale 8
trace une ligne verticale sur votre écran en X=8.
fonction Tangente( ( Tangent( ):
Elle se trouve en faisant [2nd][prgm][5]
Elle sert à tracer la tangente en un point d'une courbe qui est tracée sur votre écran graphique.
Tangente( fonction , Xpoint de la courbe
La fonction doit se trouver dans votre éditeur de fonctions (le menu [Y=] ).
vous devez rentrer à cet endroit la son numéro en faisant [var][>][1] et en sélectionnant la bonne fonction.
Exemple, si dans votre éditeur de fonctions, on a:
Y1=X²+2X-3
Et bien, pour tracer la tangente à cette courbe en X=5, on écrit:
Tangente(Y1,5
Moins facile, j'avoue.
fonction DessFonct ( DrawF ):
Elle se trouve en faisant [2nd][prgm][6]
Eh bien elle sert à tracer une fonction sans passer par l'éditeur de fonctions.
par exemple: DessFonct 3X+2 vous trace la courbe représentative de la fonction f(x)=3x+2.
Fastoche, pas souvent utile dans les jeux. xD
fonction Ombre() ( Shade() ):
Elle se trouve en faisant [2nd][prgm][7]
Alors là, ça se complique:
Elle sert à tracer une zone d'ombre sur le graphique.
On peut l'utiliser de plusieurs façons:
Ombre( Ybas , Yhaut
vous trace sur toute la largeur de l'écran une zone d'ombre entre les deux ordonnées précisées.
Ombre( Ybas , Yhaut , Xgauche , Xdroite
vous trace un rectangle d'ombre selon les coordonnées fournies.
petit inconvénient, ça vous fait aussi deux horizontales en Yhaut et Ybas.
Ombre( Ybas , Yhaut , Xgauche
vous trace une zone d'ombre de la hauteur choisie, depuis le X demandé jusqu'à la droite de l'écran.
on a aussi les deux horizonales, comme pour tous les cas suivants.
Ombre( Ybas , Yhaut , Xgauche , Xdroite , nombre
Si nombre=1, l'ombre se trace verticalement.
Si nombre=2, l'ombre se trace horizontalement
Si nombre=3, l'ombre se trace avec une pente dans un sens
Si nombre=4, la même pente, mais dans l'autre sens.
Ombre( Ybas , Yhaut , Xgauche , Xdroite , nombre , pas
L'ombre va allumer un pixel sur le pas:
pas=2 1 pixel sur 2 , pas=3 1 pixel sur 3... jusqu'à 8.
Et bien sur...
Pour les Y, on peut remplcer les valeurs par des fonctions:
Ombre(3X²-2sin(X),3X²-2sin(X)-5,2,4,2,5
Ombragera l'espace entre les deux fonctions sur l'intervalle de X [2;4], en rayures horizontales, un pixel sur 5.
fonction DessRecip ( DrawInv )
On la trouve en faisant [2nd][prgm][8]
Je sais qu'elle sert à dessiner la fonction réciproque de celle que vous allez préciser, mais comme je suis pas très calé en maths, je sais pas ce que c'est.
DessRecip 3X²+2racine(X) va vous tracer la réciproque de cette fonction.
Que ceux qui utilisent un jour cette fonction dans un prog m'appellent. xD
fonction Cercle( ( Circle( )
On la trouve en faisant [2nd][prgm][9]
Eh ben ça trace un cercle.
ça met un petit peu de temps à le tracer, c'est normal ne vous inquiétez pas.
Cercle( Xcentre , Ycentre , rayon
Attention, le rayon ne se compte pas en pixels, mais selon les dimensions de votre fenêtre.
Si rien n'apparait, c'est que vous avez mis un rayon trop grand.
(Astuce pour les 83+/84+ écrivez: Cercle(X,Y,R,{i , vous allez voir, ça va plus vite )
fonction Texte( ( Text( )
On la trouve en faisant [2nd][prgm][0]
Cette fonction permet d'écrire sur la partie graphique.
par contre, elle diffère des autres fonctions car elle ne dépend pas des dimensions de votre fenêtre: pour elle les X vont de 0 à 94, les Y de 62 à 0 (oui, vous avez bien lu, le zéro se trouve en haut et le 62 en bas).
Texte( Y1ere lettre du texte , X1ere lettre du texte , texte entre guillemets 1 , texte entre guillemets 2 , texte entre guillemets 3...
Remarques:
Le texte peut être remplacé par une variable ou un calcul, et dans ce cas, pas besoin de guillemets.
Y1 ne peut pas dépasser 56 car après y'a plus de place sur l'écran.
Attention, si vous mettez un texte trop long il sort de l'écran.
Les coordonées de la lettre:
Si j'ai comme lettre un P:
P
Les coordonées de cette lettre se situent dans son "coin" en haut à gauche.
fonction Pt-On(
On la trouve en faisant [2nd][prgm][>][1]
Elle sert à allumer un point sur votre écran, selon les coordonées de la fenêtre.
Pt-On(X,Y,nombre
Si nombre=1: le pixel seul s'allume
Si nombre=2: le pixel ne s'allume pas, mais tous les autres pixels qu'il touche s'allument (ça fait un petit carré).
Si nombre=3: une croix s'allume.
fonction Pt-Off(
On la trouve en faisant [2nd][prgm][>][2]
Comme Pt-On, mais ça éteint au lieu d'allumer.
fonction Pt-Change(
On la trouve en faisant [2nd][prgm][>][3]
Pt-Change(X,Y
Si le pixel est allumé, il s'éteint, et inversement.
fonction Pxl-On(
On la trouve en faisant [2nd][prgm][>][4]
Elle allume le pixel, mais utilise les mêmes coordonées que Texte().
Pxl-On(Y,X
fonction Pxl-Off(
On la trouve en faisant [2nd][prgm][>][5]
Elle éteint ce que la précédente allume.
fonction Pxl-Change(
On la trouve en faisant [2nd][prgm][>][6]
La même que Pt-Change, mais avec les coordonnées de Texte()
(ne dépend pas de la fenêtre, tout comme les 2 dernières fonctions).
fonction Pxl-Test(
On la trouve en faisant [2nd][prgm][>][7]
Elle sert à savoir si un pixel est allumé ou non.
Elle utilise les mêmes coordonées que les 3 précédentes.
Si Pxl-Test(Y,X)=1 le pixel est allumé
Si Pxl-Test(Y,X)=0 le pixel est éteint.
fonction SauveImage( ( StorePic )
On la trouve en faisant [2nd][prgm][<][1]
Elle sert à mettre en mémoire une image dessinée avec votre graphique.
une image prend 764 octets de RAM (ou 767 sur 83+/84+, à cause du flag "archivé?").
SauveImage 0 à SauveImage 9 (tous les chiffres).
Sur TI-82 basique:
StorePic Pic0 à StorePic Pic9 (les Pic se trouvent en faisant [var][4])
fonction RappelImage( ( RclPic ou RecallPic )
On la trouve en faisant [2nd][prgm][<][3]
Elle sert à réafficher l'image enregistrée.
Elle s'utilise de la même manière que SauveImage.
fonction SauveBDG( ( StoreGDB( )
On la trouve en faisant [2nd][prgm][<][2]
Elle sert à mettre en mémoire votre menu Y= (éditeur de fonctions), ainsi que les graphes statistiques, et tous vos réglages concernant le graphique (zoom, axes, etc...)
SauveBDG 0 à SauveBDG 9 (tous les chiffres)
Sur 82 basique:
StoreGDB GDB0 à StoreGDB GDB9 (les GDB se trouvent en faisant [var][3])
fonction RappelBDG( ( RclGDB( )
On la trouve en faisant [2nd][prgm][<][4]
Elle sert à restituer les éditeurs de fonctions mis en mémoire, et s'utilise comme SauveBDG.
BDG veut dire Banque de Données Graphiques.
Voilà, enjoy
Dans d'autres articles qui vont suivre, je parlerai des autres manières de dessiner, les text-sprites, les statplots, etc...
- Bien connaitre les dimensions de la fenêtre: pour faciliter le dessin, on utilise souvent les dimensions suivantes: X de 0 à 94 et Y de 0 à 62, car cela permet que chaque pixel aie ses coordonées propres et entières.
- désactiver les fonctions de maths ( menu [Y=] ) avec la fonction FonctOff, sauf si vous les utilisez pour dessiner aussi...
Donc, une fois ces détails réglés, on peut donc commander à chaque pixel de s'allumer ou s'éteindre.
Je procéderai dans l'ordre:
fonction EffDessin ( ClrDraw ):
Elle se trouve en faisant: [2nd][prgm][1]
Elle efface de votre écran graphique tout ce qui est dessiné avec les fonctions dont je parlerai dans ce topic.
Utilisez la, vous allez vite comprendre, c'est très simple.
fonction Ligne( ( Line( ):
Elle se trouve en faisant: [2nd][prgm][2]
Elle sert à tracer une ligne d'un point à un autre sur l'écran.
Elle peut même en sortir.
On l'utilise comme ça:
Ligne( Xéxrémité1 , Yéxtrémité1 , Xéxtrémité2 , Yéxtrémité2 , couleur.
Les coordonnées des points dépendent des dimensions de votre fenêtre.
La couleur: si on ne la précise pas, ou qu'on met 1, ou une variable égale à 1, Les pixels de la ligne s'allument.
Si on met 0 , les pixels de la ligne s'éteignent.
fonction Horizontale ( Horizontal ):
Elle se trouve en faisant [2nd][prgm][3]
Elle sert à tracer une droite horizontale:
Horizontale 47
va tracer une ligne horizontale sur votre écran en Y=47.
Facile.
fonction Verticale ( Vertical ):
Elle se trouve en faisant [2nd][prgm][4]
Elle sert à tracer une droite verticale sur votre écran.
Verticale 8
trace une ligne verticale sur votre écran en X=8.
fonction Tangente( ( Tangent( ):
Elle se trouve en faisant [2nd][prgm][5]
Elle sert à tracer la tangente en un point d'une courbe qui est tracée sur votre écran graphique.
Tangente( fonction , Xpoint de la courbe
La fonction doit se trouver dans votre éditeur de fonctions (le menu [Y=] ).
vous devez rentrer à cet endroit la son numéro en faisant [var][>][1] et en sélectionnant la bonne fonction.
Exemple, si dans votre éditeur de fonctions, on a:
Y1=X²+2X-3
Et bien, pour tracer la tangente à cette courbe en X=5, on écrit:
Tangente(Y1,5
Moins facile, j'avoue.
fonction DessFonct ( DrawF ):
Elle se trouve en faisant [2nd][prgm][6]
Eh bien elle sert à tracer une fonction sans passer par l'éditeur de fonctions.
par exemple: DessFonct 3X+2 vous trace la courbe représentative de la fonction f(x)=3x+2.
Fastoche, pas souvent utile dans les jeux. xD
fonction Ombre() ( Shade() ):
Elle se trouve en faisant [2nd][prgm][7]
Alors là, ça se complique:
Elle sert à tracer une zone d'ombre sur le graphique.
On peut l'utiliser de plusieurs façons:
Ombre( Ybas , Yhaut
vous trace sur toute la largeur de l'écran une zone d'ombre entre les deux ordonnées précisées.
Ombre( Ybas , Yhaut , Xgauche , Xdroite
vous trace un rectangle d'ombre selon les coordonnées fournies.
petit inconvénient, ça vous fait aussi deux horizontales en Yhaut et Ybas.
Ombre( Ybas , Yhaut , Xgauche
vous trace une zone d'ombre de la hauteur choisie, depuis le X demandé jusqu'à la droite de l'écran.
on a aussi les deux horizonales, comme pour tous les cas suivants.
Ombre( Ybas , Yhaut , Xgauche , Xdroite , nombre
Si nombre=1, l'ombre se trace verticalement.
Si nombre=2, l'ombre se trace horizontalement
Si nombre=3, l'ombre se trace avec une pente dans un sens
Si nombre=4, la même pente, mais dans l'autre sens.
Ombre( Ybas , Yhaut , Xgauche , Xdroite , nombre , pas
L'ombre va allumer un pixel sur le pas:
pas=2 1 pixel sur 2 , pas=3 1 pixel sur 3... jusqu'à 8.
Et bien sur...
Pour les Y, on peut remplcer les valeurs par des fonctions:
Ombre(3X²-2sin(X),3X²-2sin(X)-5,2,4,2,5
Ombragera l'espace entre les deux fonctions sur l'intervalle de X [2;4], en rayures horizontales, un pixel sur 5.
fonction DessRecip ( DrawInv )
On la trouve en faisant [2nd][prgm][8]
Je sais qu'elle sert à dessiner la fonction réciproque de celle que vous allez préciser, mais comme je suis pas très calé en maths, je sais pas ce que c'est.
DessRecip 3X²+2racine(X) va vous tracer la réciproque de cette fonction.
Que ceux qui utilisent un jour cette fonction dans un prog m'appellent. xD
fonction Cercle( ( Circle( )
On la trouve en faisant [2nd][prgm][9]
Eh ben ça trace un cercle.
ça met un petit peu de temps à le tracer, c'est normal ne vous inquiétez pas.
Cercle( Xcentre , Ycentre , rayon
Attention, le rayon ne se compte pas en pixels, mais selon les dimensions de votre fenêtre.
Si rien n'apparait, c'est que vous avez mis un rayon trop grand.
(Astuce pour les 83+/84+ écrivez: Cercle(X,Y,R,{i , vous allez voir, ça va plus vite )
fonction Texte( ( Text( )
On la trouve en faisant [2nd][prgm][0]
Cette fonction permet d'écrire sur la partie graphique.
par contre, elle diffère des autres fonctions car elle ne dépend pas des dimensions de votre fenêtre: pour elle les X vont de 0 à 94, les Y de 62 à 0 (oui, vous avez bien lu, le zéro se trouve en haut et le 62 en bas).
Texte( Y1ere lettre du texte , X1ere lettre du texte , texte entre guillemets 1 , texte entre guillemets 2 , texte entre guillemets 3...
Remarques:
Le texte peut être remplacé par une variable ou un calcul, et dans ce cas, pas besoin de guillemets.
Y1 ne peut pas dépasser 56 car après y'a plus de place sur l'écran.
Attention, si vous mettez un texte trop long il sort de l'écran.
Les coordonées de la lettre:
Si j'ai comme lettre un P:
P
Les coordonées de cette lettre se situent dans son "coin" en haut à gauche.
fonction Pt-On(
On la trouve en faisant [2nd][prgm][>][1]
Elle sert à allumer un point sur votre écran, selon les coordonées de la fenêtre.
Pt-On(X,Y,nombre
Si nombre=1: le pixel seul s'allume
Si nombre=2: le pixel ne s'allume pas, mais tous les autres pixels qu'il touche s'allument (ça fait un petit carré).
Si nombre=3: une croix s'allume.
fonction Pt-Off(
On la trouve en faisant [2nd][prgm][>][2]
Comme Pt-On, mais ça éteint au lieu d'allumer.
fonction Pt-Change(
On la trouve en faisant [2nd][prgm][>][3]
Pt-Change(X,Y
Si le pixel est allumé, il s'éteint, et inversement.
fonction Pxl-On(
On la trouve en faisant [2nd][prgm][>][4]
Elle allume le pixel, mais utilise les mêmes coordonées que Texte().
Pxl-On(Y,X
fonction Pxl-Off(
On la trouve en faisant [2nd][prgm][>][5]
Elle éteint ce que la précédente allume.
fonction Pxl-Change(
On la trouve en faisant [2nd][prgm][>][6]
La même que Pt-Change, mais avec les coordonnées de Texte()
(ne dépend pas de la fenêtre, tout comme les 2 dernières fonctions).
fonction Pxl-Test(
On la trouve en faisant [2nd][prgm][>][7]
Elle sert à savoir si un pixel est allumé ou non.
Elle utilise les mêmes coordonées que les 3 précédentes.
Si Pxl-Test(Y,X)=1 le pixel est allumé
Si Pxl-Test(Y,X)=0 le pixel est éteint.
fonction SauveImage( ( StorePic )
On la trouve en faisant [2nd][prgm][<][1]
Elle sert à mettre en mémoire une image dessinée avec votre graphique.
une image prend 764 octets de RAM (ou 767 sur 83+/84+, à cause du flag "archivé?").
SauveImage 0 à SauveImage 9 (tous les chiffres).
Sur TI-82 basique:
StorePic Pic0 à StorePic Pic9 (les Pic se trouvent en faisant [var][4])
fonction RappelImage( ( RclPic ou RecallPic )
On la trouve en faisant [2nd][prgm][<][3]
Elle sert à réafficher l'image enregistrée.
Elle s'utilise de la même manière que SauveImage.
fonction SauveBDG( ( StoreGDB( )
On la trouve en faisant [2nd][prgm][<][2]
Elle sert à mettre en mémoire votre menu Y= (éditeur de fonctions), ainsi que les graphes statistiques, et tous vos réglages concernant le graphique (zoom, axes, etc...)
SauveBDG 0 à SauveBDG 9 (tous les chiffres)
Sur 82 basique:
StoreGDB GDB0 à StoreGDB GDB9 (les GDB se trouvent en faisant [var][3])
fonction RappelBDG( ( RclGDB( )
On la trouve en faisant [2nd][prgm][<][4]
Elle sert à restituer les éditeurs de fonctions mis en mémoire, et s'utilise comme SauveBDG.
BDG veut dire Banque de Données Graphiques.
Voilà, enjoy
Dans d'autres articles qui vont suivre, je parlerai des autres manières de dessiner, les text-sprites, les statplots, etc...
Dernière édition par persalteas le Sam 26 Oct 2013 - 10:46, édité 1 fois
Re: [Graphismes] Les fonctions de dessin
Super tutoriel
Juste quelques détails mineurs à régler:
Pour la partie sur la fonction texte, il y a une faute d'orthographe:
Ensuite:
Juste quelques détails mineurs à régler:
Pour la partie sur la fonction texte, il y a une faute d'orthographe:
Ceci:Les coordonées de cette lettre se situent dans sont "coin" en haut à gauche.
Ca ne s'affiche pas bien...[taille=24]fonction Pxl-On([/taille]
Ensuite:
Pas seulement (ça sauvegarde le zoom, et les options liées au graphique (les axes, le quadrillages etc), et les statplot)).fonction SauveBDG( ( StoreGDB( )
On la trouve en faisant [2nd][prgm][<][2]
Elle sert à mettre en mémoire votre menu Y= (éditeur de fonctions).
m@thieu41- ----------------------
- Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: [Graphismes] Les fonctions de dessin
Je pensais pas que la fonction Shade() pouvait avoir autant d’arguments...
En fait, je pensais juste qu'elle pouvais tracer une ombre en Yhaut, Ybas ...
Mais en fait, c'est plus rapide de faire avec des boucles et des lignes pour un jeu, même si sa prends plus d'octet :p
En fait, je pensais juste qu'elle pouvais tracer une ombre en Yhaut, Ybas ...
Mais en fait, c'est plus rapide de faire avec des boucles et des lignes pour un jeu, même si sa prends plus d'octet :p
Re: [Graphismes] Les fonctions de dessin
Sauf si tu veux faire un scrolling encore une fois
Dans ce cas utiliser cette fonction peut être pratique.
C'est la même chose qu'avec les statplot en fait ça dépend des cas.
Dans ce cas utiliser cette fonction peut être pratique.
C'est la même chose qu'avec les statplot en fait ça dépend des cas.
m@thieu41- ----------------------
- Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :- TI-82 Stats.fr
. :
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Dim 16 Oct 2022 - 21:11 par Wistaro
» Bonne année 2018!
Ven 2 Nov 2018 - 19:42 par Ti64CLi++
» 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++