Concours de démos graphiques en Python
Posté le 21/04/2020 18:26
Salut à tous, chers programmeurs et avides de toutes choses stylées sur calculatrices. Vous êtes tous tombés au bon moment, car il est temps de jouer avec les nouveaux modules de dessin en Python !
Casio a récemment annoncé puis publié trois modules de rendu graphique en Python pour Graph 35+E II et Graph 90+E :
•
matplotl, une version minimale de matplotlib très fidèle à l'original.
•
turtle, une reproduction en règle parfaitement identique à l'original.
•
casioplot, un module bas-niveau pour modifier les pixels à l'écran avec des performances très intéressantes.
On a déjà
commencé à parler de ces modules en détails dans un article précédent, et on va continuer dans le futur. Pour l'instant, on peut résumer les nouveautés en quelques points !
• Les modules
matplotl et
turtle sont très conformes aux originaux, ce qui permet aux mêmes programmes de marcher sur calculatrice et sur PC. D'autres constructeurs comme Numworks ont fait ce choix, et sur Planète Casio on trouve ça génial.
• Le module
casioplot permet de faire du dessin très précis. Les performances ne permettent pas de faire du dessin en temps réel, mais on peut déjà faire pas mal de choses !
• Malheureusement, on n'a toujours rien pour interagir avec le clavier (
à part quelques essais avec AC/ON) donc on peut pas faire de jeux.
Ce qui nous amène au concours d'aujourd'hui. Pour lancer tout le monde sur le chemin de ces bibliothèques et découvrir tout ce qu'on peut faire de stylé avec, je vous propose un
concours de démos graphiques accessible à tous !
Qu'est-ce qu'une démo graphique ?
Une démo graphique, c'est un petit programme qui affiche des choses stylées à l'écran, pour démontrer les capacités graphiques d'une plateforme. Ça peut être des animations stylées, des choses colorées, des cubes en 3D... ça peut être une seule image, une animation, peu importe.
En gros si c'est beau et stylé, vous gagnez.
Voilà des exemples de démos graphiques que j'ai codées sur ma Graph 90+E. Celles-ci tournent en temps réel ! (Les captures ont été prises par un logiciel vidéo donc c'est bruité, ce n'est pas un effet du programme.)
Comme vous pouvez le voir, il y a plein de choses à faire, et vous pouvez vraiment vous lâcher !
Dates, fonctionnement, et lots du concours
Voilà comment ça va se passer. Vous avez
jusqu'au Samedi 9 Mai (un peu plus de 2 semaines) pour poster vos participations sur ce sujet. Pour participer, vous devez :
Poster sur ce sujet
une image ou animation de votre démo. Votre démo doit fonctionner sur Graph 35+E II ou sur Graph 90+E. Dans les deux cas, vous pouvez prendre une capture avec
Screen Receiver.
Si vous n'y arrivez pas, envoyez-moi le code par message privé et je vous enverrai l'image ou l'animation en retour. Vous pourrez alors poster. Ne partagez pas votre code sur ce sujet !
Si vous n'avez pas de Graph 35+E II ou de Graph 90+E, vous pouvez utiliser
les émulateurs officiels qui disposent d'une version d'essai de 90 jours. Si même ça vous est inaccessible (parce que vous avez déjà utilisé la période d'essai, par exemple), vous pouvez m'envoyer le code d'un programme compatible Graph 35+E II ou Graph 90+E et je le lancerai pour vous.
À la fin du concours, vous devrez partager votre code et on discutera des techniques utilisées, des optimisations, et de la créativité dont vous aurez fait preuve pour abuser des mécanismes de tracé pas prévus pour ça.
Les meilleures participations seront classifiées par un petit jury (jusqu'à 5 membres hors participants) pour élire les démos les plus impressionnantes.
Il y a un lot à gagner, l'auteur·e de la meilleure démo graphique recevra une
clé USB multi-émulateurs à usage à vie. Cette clé USB contient les trois émulateurs
fx-92 Spéciale Collège+,
Graph 35+E II et
Graph 90+E, tous utilisables dans leur version complète sans limite de durée pourvu que la clé USB soit branchée à l'ordinateur. Ce système permet d'utiliser les émulateurs sur plusieurs ordinateurs sans difficulté !
Les deux émulateurs de Graph sont dans les premières versions Python. Mais pas d'inquiétude, car cette clé USB peut être mise à jour avec les nouvelles versions de l'OS ! Comme annoncé durant
la tournée pédagogique en ligne ce mois-ci, la mise à jour avec les bibliothèques graphiques est disponible pour les clés USB d'émulation. Casio a pensé à tout !
Alors évidemment, contrairement au CPC ce petit concours repose sur un système de notation assez subjectif. J'espère que tout le monde saura prendre le lot comme une incitation à participer, avec le recul suffisant pour éviter les mauvaises surprises à la fin !
À vos calculatrices !
Je compte sur vous pour envoyer le feu avec ces nouveaux modules. Si les participations sont vraiment stylées, on pourra en mettre en page d'accueil !
Je déclare le concours de démos graphiques Python ouvert !
Fichier joint
Citer : Posté le 22/04/2020 09:53 | #
C'est 384x192 je crois, une fois que t'as pris en compte la bordure blanche et la barre de statut.
Citer : Posté le 22/04/2020 09:54 | #
Ah, merci
Citer : Posté le 22/04/2020 10:13 | # | Fichier joint
Voilà du coup @Tituya, ça se fait... x)
Si ça t'intéresse je peux expliquer comment tout ça marche... c'est assez sympa !
Citer : Posté le 22/04/2020 10:16 | #
Moi j'aimerai bien savoir comment ça marche
Vous êtes fan de « The legend of Zelda ocarina of Time »,si c’est le cas allez voir ZeldaGAME
mon projet de jeu basic casio
Citer : Posté le 22/04/2020 10:19 | #
Rien qu'en voyant ça je comprend que vous êtes
uncent niveaux au-dessus de moiJe vais quand même tester mon idée, j'ai envie de le faire pour le fun.
Citer : Posté le 22/04/2020 10:29 | #
j'ai une idée mais je ne sais pas comment représenter de la 3D
Vous êtes fan de « The legend of Zelda ocarina of Time »,si c’est le cas allez voir ZeldaGAME
mon projet de jeu basic casio
Citer : Posté le 22/04/2020 11:27 | #
Ah ouais il y a du niveau ici @lephenixnoir. Bravo, vraiment bravo je n'ai pas réussi à aller si loin dans le truc.
T'es sûr que c'est un Hypercube ? Les mouvements me semblent différents
(Et de toute façon, vous pouvez pas dire le contraire)
MultipliCasio
RDM Calculs
Back Mirror
A Switch To The Top C
Citer : Posté le 22/04/2020 11:28 | #
Oui, c'est bien un hypercube en dimension 4. Mais selon les rotations que tu appliques tu peux obtenir des choses assez différentes dans les animations. Je vais réfléchir à faire un petit tutoriel 3D/4D pour expliquer ce qui se passe, le code est pas très compliqué...
Citer : Posté le 22/04/2020 11:30 | #
(déjà un tutoriel 2D->3D ça serai utile pour moi )
Vraiment bravo, en plus de ça c'est fluide et c'est vraiment stylé !
(Et de toute façon, vous pouvez pas dire le contraire)
MultipliCasio
RDM Calculs
Back Mirror
A Switch To The Top C
Citer : Posté le 22/04/2020 11:32 | #
C'est un peu moins fluide que ça sur la calculatrice, il y a genre 2/3 FPS, mais ça bouge en temps réel. J'ai pas encore essayé de l'optimiser, le script est brut de la version de test et les calculs sont certainement simplifiables. À voir...
Citer : Posté le 22/04/2020 11:36 | #
Pour la 3D, y'a déjà ce tuto de Neuronix → https://www.planet-casio.com/Fr/forums/topic3693-1-tutoriel-la-3d.html
C'est pas fou, mais ça pose les bases
Citer : Posté le 22/04/2020 11:38 | #
Oui, j'ai déjà refait le tour, mais c'est loin d'être clair je trouve
Citer : Posté le 22/04/2020 11:42 | #
C'est vrai qu'à la réflexion j'étais parti de là, j'avais pas compris, j'avais posé les formules de rotation/projection à la main x)
Bref, un vrai tuto peut être adapté je pense.
Citer : Posté le 22/04/2020 11:46 | #
Finalement j'abandonne, j'ai pas réussir à dessiner ce que je voulais
Je suis vraiment nul en design de personne en pixel art, j'ai réussi à dessiner que le paysage x)
Je veux bien être jury.
Citer : Posté le 22/04/2020 11:48 | #
N'abandonnez pas si vite, il y a largement le temps d'affiner ou de prendre un autre idée... ^^"
Citer : Posté le 22/04/2020 13:14 | #
Quand vous aurez fini, on veut un TDM sur la 3D
Citer : Posté le 23/04/2020 15:50 | #
Il faut que ta soumission soit un programme Python qui marche sur la Graph 35+E II ou la Graph 90+E. Le reste te regarde.
D'accord merci
Je répond avec un peu de retard pardon >_<'
Citer : Posté le 23/04/2020 22:00 | #
Pour épargner à Lephe de se répéter tout de suite je vous oriente sur ce topic :
https://www.planet-casio.com/Fr/forums/topic14655-1-les-espaces-3d-coder.html
Dans les commentaires il m'avait généreusement répondu
@Lephe: Ça va enfin servir à d'autres personnes que moi
Sinon personnellement j'ai retenu ça :
Coordonnées 2D: (X / Z; Y / Z)
On en déduit donc que le point de fuite est ici en (0;0)
-Planétarium 2
Citer : Posté le 23/04/2020 22:10 | #
Pour être exact le point de fuite est en x infini, et la caméra est en 0,0. Mais c'est presque ça oui.
Citer : Posté le 23/04/2020 22:22 | #
X)
les prjection et rotations a vrai dire je balance mes vecteurs dans les matrices qui vont bien et voilà, j'ai jamais yrop cherché plus loin
(en revanche je peux vous parles en long et en large des propriété mathematique desdite matrice >_< )
Citer : Posté le 24/04/2020 08:57 | #
Pour être exact le point de fuite est en x infini, et la caméra est en 0,0. Mais c'est presque ça oui.
Roooh
Je pensais que le point de fuite était lié à la caméra mais bon ..
Ajouté le 24/04/2020 à 09:00 :
En revanche je peux vous parles en long et en large des propriété mathematique desdite matrice >_<
C'est gentil de proposer mais c pas la peine
Perso pour les matrices je pompe le cours de Terminale (que g pas fait XD)
-Planétarium 2