π
<-
Chat plein-écran
[^]

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

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

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

Unread postby 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 , 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 ainsi que 12 à New York. La 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 au 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: Select all
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 wrote:[...] 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:

11891
Raum
igel
. 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 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 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 . 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é.

Raum
igel
. 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

13225
Raumigel1
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: Select all
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: Select all
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: Select all
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
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 13.7%
 
Posts: 37207
Images: 10337
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
Class: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti
GitHub: critor

Return to News TI-Nspire

Who is online

Users browsing this forum: No registered users and 30 guests

-
Search
-
Social
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Découvre les nouvelles fonctionnalités en Python de l'OS 5.2 pour les Nspire CX II
Découvre les nouvelles fonctionnalités en Python de l'OS 5.5 pour la 83PCE/84+C-T Python Edition
Omega, le fork étendant les capacités de ta NumWorks, même en mode examen !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
454 utilisateurs:
>442 invités
>7 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)

-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)