π
<-
Chat plein-écran
[^]

Raumigel, le turtle 3D Python pour TI-Nspire CX II

:32tins: :32tinsktpb: :32tinsktpn: :32tinscas: :32tinstpkc: :32tinstpktpb: :32tinstp: :32tinscastp: :32tinscmc: :32tinscx: :32tinscxcas:

Raumigel, le turtle 3D Python pour TI-Nspire CX II

Message non lude critor » 29 Nov 2020, 19:08

1985, la micro-informatique est en pleine effervescence et les élèves en Europe et Amérique du Nord développent leur esprit logique tout en exerçant leur créativité en programmant en langage interprété Basic, LSE ou Logo sur le micro-ordinateur de l'école.

Au Royaume-Uni c'est le micro-ordinateur BBC Micro de 1981, ancêtre du nano-ordinateur contemporain BBC micro:bit, qui équipe les écoles. Elèves et enseignants sont accompagnés dans cette aventure par des émissions éducatives à la télévision sur les chaînes de la BBC.

En Amérique du Nord on peut citer Texas Instruments qui a équipé plusieurs écoles de son ordinateur TI-99/4A de 1979 dans le cadre de projets pilotes. Dès 1980 ce sont 50 machines à Dallas (Lamplighter school) ainsi que 12 à New York. Le langage TI-Basic était directement intégré à la machine, le langage TI Logo nécessitait quant à lui l'utilisation d'une cartouche mémoire amovible, comme sur les consoles de jeux. Toutefois l'aventure ne fut que de courte durée, Texas Instruments décidant de se retirer du marché de la micro-informatique dès décembre 1983.

4015En France cela se passe essentiellement sur micro-ordinateur Thomson MO5 ou TO7-70, dans le cadre du plan IPT (Informatique Pour Tous) présenté le 25 janvier 1985 par Laurent Fabius, Premier Ministre de François Mitterrand.
Afin de permettre la distribution aisée des supports numériques de travail, ces micro-ordinateurs étaient de plus interconnectés dans un nanoréseau, un réseau développé par Léanord pouvant accepter jusqu'à 31 machines client. La tête de réseau était un ordinateur compatible IBM PC muni d'une carte réseau ISA dédiée, bien souvent un ordinateur Bull (Micral 30 ou Micral 90) même si on pouvait également rencontrer des ordinateurs Goupil (3), Leanord (Sil'z 16), Matra (X20), Logabax (Personna 1600) ou encore Excelvision, société justement créée en août 1983 par trois ingénieurs quittant Texas Instruments France alors qu'ils sentaient le vent tourner.
Le langage Microsoft Basic 1.0 venait intégré sur MO5, alors qu'il devait être rajouté via une cartouche mémoire sur TO7. Le Logo quant à lui nécessitait dans tous les cas l'utilisation d'une cartouche mémoire.

Dans une interaction féconde élèves et enseignants ont pu rivaliser d'ingéniosité pour tracer les figures les plus belles et complexes en un minimum de lignes de code Logo : maisons, étoiles, rosaces, fleurs... :D
... et même des clothoïdes plus connues dans le monde anglophone sous le nom de spirales d'Euler, retranscrites ci-dessous pour l'occasion dans le langage Python turtle plus contemporain : :bj:
Code: Tout sélectionner
try:
  import turtle
except: # TI-83 Premium CE
  from ce_turtle import turtle

def spi(a, s, d):
  x0, y0 = turtle.position()
  h0 = turtle.heading()
  x, y, h = 0, 0, h0 - 1
  while (x - x0)**2 + (y - y0)**2 >= 1 and h != h0:
    turtle.forward(d)
    turtle.right(a)
    a += s
    x, y = turtle.position()
    h = turtle.heading()



1322313224
Claude Durand-Prinborgne a écrit:[...] l'informatique sera un outil pédagogique. Nous pouvons laisser, pour l'instant, le problème de l'introduction de celle-ci dans les programmes en tant que discipline. [...]

Ainsi s'exprimait dans sa préface enthousiaste Claude Durand-Prinborgne, directeur général des enseignements scolaires de 1984 à 1986. Si il avait su... Un programme ambitieux et avant-gardiste qui n'eut d'égal que le manque coupable d'ambition et d'anticipation des gouvernements et ministres successeurs. Plus question de créer la moindre ligne de code, juste au mieux d'utiliser de bêtes logiciels fournis. Tableur / feuille de calcul, géométrie dynamique, etc. Une traversée du désert de près de deux décennies, il fallut attendre 2009 avant que les choses ne recommencent à bouger avec le nouveau programme de Mathématiques en Seconde et ne conduisent, non sans difficultés et oppositions, à la situation que nous connaissons aujourd'hui.

Le Logo est donc un langage permettant entre autres de contrôler les déplacements à l'écran d'un robot que l'on appelle tortue. C'est comparable à ce que tu réalises au collège en Scratch ou sur ta Casio fx-92+ Spéciale Collège.

Le module turtle pour Python disponible sur les calculatrices graphiques suivantes t'offre des possibilités similaires :
  • TI-83 Premium CE Edition Python / TI-84 Plus CE-T Python Edition
  • Casio Graph 35+E II / fx-9750/9860GIII
  • Casio Graph 90+E / fx-CG50
De quoi s'appuyer temporairement sur les acquis de collège dans le contexte de la transition vers le Python en Seconde, ou réinvestir de façon plus pérenne ces acquis lors du codage de projets ! :bj:

Problème, le module turtle n'est à ce jour pas disponible pour le langage Python de ta TI-Nspire CX II. :'(
Mais le langage Python de la TI-Nspire CX II dispose toutefois d'une bibliothèque de tracé par pixels ti_draw.

Et si il était possible de coder intégralement turtle en Python, de façon similaire à ce qu'a fait Casio ? ;)

Et bien non, aujourd'hui ce n'est pas la sortie de turtle pour le Python TI-Nspire CX II, mais de quelque chose d'encore mieux : Raumigel, littéralement en allemand "hérisson spatial" ! :bj:

11891Raumigel. Mais déjà, que vient faire un hérisson là-dedans et où est donc passée la tortue ? :p

Il faut déjà se demander pourquoi on parle de tortue en Logo et désormais en Python, après tout le Scratch a bien opté pour un chat à la différence.

La tortue renvoie en fait à celle de la culture populaire, avec sa victoire dans sa course contre le lièvre telle que narrée dans la fable La tortue et le lièvre attribuée au philosophe grec Esope (VIIe-VIe siècle av. J.-C).
En France nous avons droit depuis 1668 à une version légèrement enrichie par La Fontaine et rebaptisée Le Lièvre et la Tortue dont nous te parlions encore l'année dernière. Ici le lièvre perd la course car il "s'amuse à toute autre chose", et non pas juste parce qu'il s'est endormi.

Mais voilà, en Allemagne l'histoire et la culture populaire sont différentes. Les frères Grimm se sont inspirés de cette fable pour la 5ème édition de leurs célèbres contes en 1843, rebaptisée pour l'occasion Der Hase und der Igel soit Le Lièvre et le Hérisson. Une version très différente. Le hérisson qui remplace donc ici la tortue ne s'appelle pas Sonic et ne court donc pas plus vite que cette dernière. Il réussit toutefois à gagner la course lui aussi, mais ici en trompant le lièvre.
Dans le contexte du langage Logo, il est ainsi courant en Allemagne de parler aussi bien de tortue que de hérisson (Igel) pour désigner le robot piloté.

Raumigel. Mais pourquoi donc un hérisson spatial ? :#roll#:

Raumigel apparaît en 1985 dans le 7ème numéro de Informatik und Datenverarbeitung in der Schule (informatique et traitement des données à l'école), un périodique publié par la Pädagogische Hochschule de Ludwigsburg (en France pour parler à tout-le-monde nous dirons IUFM, ESPE ou encore INSPE, soit tout établissement destiné à former les futurs enseignants).

Raumigel est en fait une extension du langage Logo par H. Wölpert et S. Wolpert, élargissant les possibilités de déplacements du hérisson-tortue. Les 3 dimensions sont ici autorisées et le hérisson-tortue peut donc tracer des solides ! :bj:
Raumigel permettait une approche ambitieuse de la géométrie dans l'espace à la fois facile et ludique dès le plus jeune âge. En effet, pas besoin ici d'avoir en prérequis étudié les coordonnées à 3 dimensions et toutes les formules qui vont avec, une innovation pédagogique majeure ! :D

13225Raumigel1 pour ta TI-Nspire CX II est donc une adaptation par Veit Berger et Hans-Martin Hilbig, formateurs T3 pour Texas Instruments, de la 1ère version de Raumigel ! :bj:

Tu peux si tu le souhaites l'utiliser pour remplacer le module turtle à ce jour manquant, comme par exemple ici pour tracer un carré : :)
Code: Tout sélectionner
from raumigel1 import *

set_window(-159, 160, -105, 106)
igel = raumigel()
for i in range(4):
  igel.vw(100) # avance (vorwarts)
  igel.re(90) # tourne droite (rechts)
igel.darstellen() # présenter


Transformons maintenant ce carré en cube, il suffit juste de rajouter 2 lignes : :D
Code: Tout sélectionner
from raumigel1 import *

set_window(-159, 160, -105, 106)
igel = raumigel()
for i in range(4):
  for i in range(4):
    igel.vw(100) # avance (vorwarts)
    igel.re(90) # tourne droite (rechts)
  igel.vw(100) # avance (vorwarts)
  igel.kvo(90) # basculement vers l'avant (kippe vorne)
igel.darstellen() # présenter


Petite problématique, le réglage des bornes de la fenêtre d'affichage. Pas toujours évident de deviner les valeurs convenables en 2D, alors en 3D encore moins.

Et bien rajoutons de quoi faire tourner le cube après affichage. Pour cela nous déplaçons son code d'affichage dans une fonction qui sera appelée à chaque transformation : :bj:
Code: Tout sélectionner
from raumigel1 import *

def draw(obj, l):
  for i in range(4):
    for i in range(4):
      igel.vw(l)# avance (vorwarts)
      igel.re(90) # tourne droite (rechts)
    igel.vw(l) # avance (vorwarts)
    igel.kvo(90) # tourne droite (rechts)
  obj.darstellen() # présenter
 
set_window(-159, 160, -105, 106)
igel = raumigel()

key = ""
use_buffer()
rot_angle = 5
while key != "esc":
  draw(igel, 100)
  paint_buffer()
  key = get_key(1)
  if key == "left":
    igel.y_rotation(-rot_angle)
    igel.clear()
  if key == "right":
    igel.y_rotation(rot_angle)
    igel.clear()
  if key == "up":
    igel.x_rotation(-rot_angle)
    igel.clear()
  if key == "down":
    igel.x_rotation(rot_angle)
    igel.clear()

Attention, si tu souhaites pouvoir importer Raumigel depuis un autre classeur, veille bien à enregistrer son fichier dans le dossier racine /PyLib/.


Téléchargement : Raumigel

Crédits images tierces :
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.3%
 
Messages: 41494
Images: 14626
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Retourner vers News TI-Nspire

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 54 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1068 utilisateurs:
>1027 invités
>36 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)