Dans sa prochaine mise à jour gratuite désormais imminente pour Graph 35+E II et Graph 90+E, Casio va rajouter de formidables possibilités graphiques à son application Python sous la forme de deux modules importables :
- matplotl (en fait un matplotlib.pyplot)
- turtle
Nous ne disposons certes pas d'une préversion de la mise à jour de Casio. Toutefois, ce dernier a déjà diffusé et illustré plusieurs exemples qui permettent déjà de se faire une petite idée.
On commence par une petite rosace; tout possesseur de Graph 35+E II sait que Casio adore ça :
Casio | NumWorks | ordi |
|
Le code d'exemple fourni par Casio passe ici sans problème sur NumWorks et sur ordi.
On poursuit maintenant avec le flocon de Koch :
Casio | NumWorks | ordi |
|
Ici encore aucun problème, compatibilité totale !
Nous arrivons maintenant à un soleil. Mais ici hélas, le code de Casio ne marche pas sur NumWorks :
- Code: Select all
from math import exp
from turtle import *
for i in range(1,37):
red=(exp(-0.5 * ((i-6)/12)**2))
green=(exp(-0.5 * ((i-18)/12)**2))
blue=(exp(-0.5 * ((i-30)/12)**2))
pencolor([red, green, blue])
for i in range(1, 5):
forward(60)
right(90)
right(10)
Le problème semble ici être que la Casio et la NumWorks n'utilisent pas par défaut le même système de coordonnées pour les composantes couleurs en turtle :
- nombre flottant de 0.0 à 1.0 sur Casio
- nombre entier de 0 à 255 sur NumWorks
Notons que sur les implémentations Python complètes on peut régler le comportement souhaité à l'aide des appels respectifs
turtle.colormode(1.0)
et turtle.colormode(255)
.Toutefois cette fonction n'est hélas pas incluse chez NumWorks.
En conséquence, nous proposons le code corrigé ci-dessous, avec une fonction intermédiaire mypencolor() qui corrigera les coordonnées si nécessaire, et qui à la différence marchera aussi sur NumWorks :
Casio | NumWorks | ordi |
|
Si tu trouves une façon plus simple de rajouter la compatibilité NumWorks au code Casio, n'hésite pas à nous la partager.
Enfin nous terminons avec une coquille d'escargot et malheureusement même problème, le code de Casio marche partout sauf sur NumWorks :
- Code: Select all
from turtle import *
from math import *
penup()
goto(0, -20)
pendown()
for i in range(1,37):
red=(exp(-0.5 * ((i-6)/12)**2))
green=(exp(-0.5 * ((i-18)/12)**2))
blue=(exp(-0.5 * ((i-30)/12)**2))
pencolor([red,green,blue])
circle(50-i)
right(10)
En conséquence, même correction en attendant mieux :
Casio | NumWorks | ordi |
|