- La ligne TGV et son WIFI inoui
tiens je viens d'avoir un badge 300 km/h ;))) - L'application GeoGebra en ligne
Etape 1 - le principe de construction avec GeoGebra
Avec GeoGebra cela donne ça:
- Je trace un arc de cercle de B vers C de centre A et de rayon 1
- Je trace à la suite un arc de cercle de C vers E de centre D et de rayon 2
- Je trace à la suite un arc de cercle de E vers G de centre F et de rayon 4
- Je trace à la suite un arc de cercle de G vers I de centre H et de rayon 8
Pour utiliser GeoGebra, j'ai juste créé un compte en utilisant mon adresse @nta.com (cette information est à destination de mes élèves ;)
Compréhension de la spirale
- les valeurs des rayons successifs sont: 1 - 2 - 4 - 8 - ...
elles correspondent donc à des puissances de 2
les valeurs successives des rayons sont: 2**0 - 2**1 - 2**2 - 2**3 - ...
(comprendre 2**3 comme 2*2*2 soit 2 au cube) - je quitte un point en gardant la tangente au point et en appliquant le nouveau rayon
- j'image une boucle for i in range pour automatiser la construction
Etape 2 - l'application du principe en python avec Thonny
Commandes utilisées
- penup()
=> lève le stylet et ne trace rien - pendown()
=> pose le stylet et dessine - dot()
=> place un point - goto(valeur de x, valeur de y)
=> se rend à (x,y) - circle(rayon du cercle, angle de l'arc)
=> trace un arc de cercle en partant tangentiellement de se position initiale - write(nbre)
=> dessine la valeur nbre à proximité de la position du point - for i in range (x):
=> boucle bornée pour i allant de 0 à x-1
Expérimentation
L'objectif est ici de comprendre ce qui se passe dans les lignes du dessous. Le seul bon conseil, copier/coller le script dans Thonny puis testez le... Le dessin du dessous est le résultat du script!
---
# import de la bibliothèque turtle
from turtle import *
variable=100
goto(0,-variable)
penup()
goto(variable,0)
pendown()
circle(0.5*variable,90)
dot()
write("A")
circle(1*variable,-90)
dot()
for i in range(3):
circle(i*variable,180)
dot()
write(i*variable)
from turtle import *
variable=100
goto(0,-variable)
penup()
goto(variable,0)
pendown()
circle(0.5*variable,90)
dot()
write("A")
circle(1*variable,-90)
dot()
for i in range(3):
circle(i*variable,180)
dot()
write(i*variable)
Etape 3 - la concrétisation
But à atteindre
Tracer une spirale dont les rayons successifs seront des puissances de 2 et dont l'angle de l'arc de cercle sera de 90°.
L'affichage des points et des valeurs des rayons n'est en rien obligatoire, mais cela peut aider pour la compréhension...
Algorithme
- Importer la tortue ;)
- Décaler le point de départ si besoin
(penup / pendown) - Faire un choix du nombre de spire (dans le dessin du dessus j'ai range(9) ;)
- calculer rayon i
- dessiner l'arc
- si besoin dessiner son point et écrire la valeur du rayon
Script
# variable rayon initial
rayoninit=1
dot()
# mise en place
penup()
goto (0,-50)
pendown()
# boucle
for i in range (9):
rayon=rayoninit*2**i
circle (rayon,90)
dot() # marquage du point
write(rayon*2**i) # impression valeur pour comprendre
Fin du voyage... Allons bosser
Aucun commentaire:
Enregistrer un commentaire
Tout commentaire nous engage ;)