Posté le 22/02/2022 23:46
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 217 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
Citer : Posté le 22/02/2022 23:51 | #
Salut, je te propose de t'interesser au Multi-Drawstat et au Super-Drawstat avec en tête une astuce fort pratique :
Un point situé hors écran (ou tout du moins "loin") provoquera un non affichage de ligne.
Autrement dit entre deux éléments graphiques distincts tu peux caler des points à 1e6 par exemple pour qu'aucune ligne n'apparaisse entre les deux !
La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Citer : Posté le 23/02/2022 01:26 | #
DrawStat creates one continuous line from point to point. not multiple different lines
in C.Basic you can place : after a draw command to stop it from immediately displaying to the screen (make sure to have a new line after the :)
Running any other draw command will update the screen (I think C.Basic has a dedicated updatescreen command?)
Drawing to the screen is almost single handedly the slowest operation to do on the calculator, including Addins written in C and asm
(other than every single command in normal Basic)
you can access MonochromeLib's extended drawing commands in C.Basic under [SHIFT]+[F4] (SKTCH), [F3] (ML)
Citer : Posté le 23/02/2022 07:27 | #
@Redcmd oh,thanks you ! I don’t know this one
@Net0ux oui, c’est ce que j’ai vu dans le tuto de Draw Stat.
En fait mon problème est que je fais deux liste genre :
{35,27}->List 1
{4,8}->List 2
Je les affiche avec Graph(X,Y)=(List 1[T],List 2[T]) et ça dessine un triangle !
(Les valeurs sont au pif)
Citer : Posté le 23/02/2022 08:38 | #
Un point situé hors écran (ou tout du moins "loin") provoquera un non affichage de ligne.
Tu peux utiliser du Multi drawstat pour pouvoir lever le crayon facilement comme les lignes ne sont pas continues.
Citer : Posté le 23/02/2022 11:57 | #
(Les valeurs sont au pif)
Tu as bien vérifié que le View-Window pour T c'est 0, <nombre d'éléments>, 1 ?
Citer : Posté le 23/02/2022 12:21 | #
Ahah merde je ne savais pas qu’il fallait renseigner le nombre d’éléments dans le ViewWindows !
Je vais essayer de m’y pencher mais la solution de Redcmd marche très bien, (tout est fluide) donc je ne sais pas si je vais utiliser le DrawStat
Citer : Posté le 23/02/2022 13:06 | #
Ça peut valoir le coup d'expliquer comment cette méthode marche.
Graph(X,Y)=() dessine un graphe paramétré. Contrairement au graphe normal où les points sont situés en (x, y(x)), dans un graphe paramétrique les points sont situés en (x(t), y(t)) pour une certaine variable t.
Pour prendre un exemple classique, si tu dessines le graphe paramétré de (cos(t), sin(t)) avec t de 0 à 2π (et un pas assez faible genre 0.1) tu obtiens un cercle.
Le principe du Super DrawStat est d'abuser cette mécanique pour former des images en traçant des lignes. C'est possible parce que le tracé de graphe fonctionne en évaluant (x(t), y(t)) pour "certaines" valeur de t puis en traçant des lignes entre les points obtenus.
Dans le Super DrawStat, x(t) c'est List 1[T] et y(t) c'est List 2[T], c'est-à-dire qu'on indique manuellement tous les points par lesquels le graphe doit passer. D'où la formulation habituelle que "ça permet de tracer une série de lignes".
Cependant, il ne faut pas oublier que (x(t), y(t)) est évalué pour "certaines" valeurs de T qui sont spécifiées dans le View-Window avec (1) un T initial, Tθmin ; (2) un T final, Tθmax ; (3) un pas, Tθpitch. Pour que la formule List 1[T] / List 2[T] ait un sens et fasse ce que tu veux, il faut que T varie de 1 au nombre d'éléments avec un pas de 1, pour que chaque point de la liste soit vu exactement une fois.
Note que du coup si tu veux faire plusieurs Super DrawStat sur le même frame tu es soit obligé de concaténer les listes soit obligé de modifier Tθmax. La seconde option implique un Cls, ce qui veut dire que tu dois faire un StoPict/RclPict (ou BG-PIct) pour ne pas perdre le contenu de l'écran. Ce trick ne marche que sur mono. C'est une faiblesse du Super DrawStat que le Multi DrawStat n'a pas, parce que le Multi DrawStat encode les lignes différemment et utilise toujours Tθmax=1.
Citer : Posté le 23/02/2022 13:57 | #
Ah, j'avais pas compris ça comme ça !
Mercii !