TURTLE
Le module turtle :
L’une des grandes qualités de Python est qu’il est extrêmement facile de lui ajouter de nombreuses fonctionnalités par importation de divers modules. Pour illustrer cela, et nous amuser un peu avec d’autres objets que des nombres, nous allons explorer un module Python qui permet de réaliser des « graphiques tortue », des dessins géométriques correspondant à la piste laissée derrière elle par une petite « tortue » virtuelle, dont nous contrôlons les déplacements sur l’écran de l’ordinateur à l’aide d’instructions simples.
fonctions de turtle
turtle est une fonctionnalité Python comme une planche à dessin, qui nous permet de commander à une turtle de dessiner partout.
Méthode |
Paramètre |
Description |
---|---|---|
Turtle()
|
aucun |
Crée et renvoie un objet turtle |
forward()
|
quantité |
Déplace la turtle vers l’arrière de la quantité spécifiée |
backward()
|
quantité |
Déplace vers l’arrière en fonction de la distance. |
right()
|
angle |
Tourne turtle à droite |
left()
|
angle |
Tourne turtle à gauche |
penup()
|
aucun |
Pas de dessin lors du déplacement |
pendown()
|
aucun |
Tire le stylet vers le bas et dessine |
up()
|
aucun |
Tire le stylet vers le haut |
position()
|
aucun |
Renvoie la position actuelle de la tortue (x,y), sous la forme d’un vecteur
|
goto()
|
x et y |
Déplacez turtle vers une position absolue. |
dot()
|
aucun |
Laissez le point à la position actuelle |
stamp()
|
aucun |
Laisse une impression de forme de turtle à l’emplacement actuel |
shape()
|
nom de la forme |
Devrait être “flèche”, “classique”, “turtle” ou “cercle” |
Commandes d’affichage :
L’une des grandes qualités de Python est qu’il est extrêmement facile de lui ajouter de nombreuses fonctionnalités par importation de divers modules. Pour illustrer cela, et nous amuser un peu avec d’autres objets que des nombres, nous allons explorer un module Python qui permet de réaliser des « graphiques tortue », des dessins géométriques correspondant à la piste laissée derrière elle par une petite « tortue » virtuelle, dont nous contrôlons les déplacements sur l’écran de l’ordinateur à l’aide d’instructions simples.
Les couleurs
Renvoie ou définit la couleur du stylo et la couleur de remplissage.
LES COULEURS |
---|
Arguments: Plusieurs formats d’entrée sont autorisés.Ils utilisent 0, 1, 2 ou 3 arguments comme suit : |
color()
Renvoie la couleur de stylo actuelle et la couleur de remplissage actuelle sous la forme d’une paire de chaînes de spécification de couleur telles qu’elles sont renvoyées par pencolor et fillcolor. couleur(chaîne de couleurs), couleur((r,g,b)), couleur(r,g,b) color(colorstring), color((r,g,b)), color(r,g,b)
entrées comme dans pencolor, définissez les deux, fillcolor et pencolor, à la valeur donnée. couleur (chaîne de couleurs1, chaîne de couleurs2), couleur((r1,g1,b1), (r2,g2,b2))
Si la forme de turtle est un polygone, le contour et l’intérieur de ce polygone est dessiné avec les couleurs nouvellement définies. Pour plus d’informations, voir: pencolor, fillcolor |
pencolor()
Renvoie la couleur de stylo actuelle en tant que chaîne de spécification de couleur, éventuellement au format hexadécimal (voir exemple). Peut être utilisé comme entrée pour un autre appel color/pencolor/fillcolor.
|
pencolor(colorstring)
est une chaîne de spécification de couleur Tk, telle que « rouge » ou « jaune » |
pencolor((r, g, b))
un tuplede r, g et b, qui représentent une couleur RVB, et chacun de r, g et b sont dans la plage 0..colormode, où colormode vaut 1.0 ou 255
|
pencolor(r, g, b)
r, g et b représentent une couleur RVB, et chacun de r, g et b sont dans la gamme 0..colormode.
Si la forme de tortue est un polygone, le contour de ce polygone est dessiné avec la nouvelle couleur de stylo. |
fillcolor()
color pencolor fillcolor
|
.
Réglage de la fenêtre :
setup(500,400)
|
construit une fenêtre de 500 pixels de largeur et de 400 pixels de hauteur. |
title("Education du numérique")
|
Le titre de la fenêtre devient : Education du numérique |
bgcolor("light blue")
|
Le fond de la fenêtre devient bleu clair. |
bgpic("gare_limoges.png")
|
L’image de la gare de limoges devient le fond de la fenêtre. |
Commande | retour |
---|---|
from turtle import *
#fenetre : Largeur : 600px, Hauteur : 150px
setup(600, 150)
#Change le titre de la fenetre
title("Education du numérique")
#Met l'image en fond de la fenêtre
bgcolor("light blue")
|
Le code pour un fond avec une image
Code | Résultat |
---|---|
from turtle import *
#fenetre : Largeur : 600px, Hauteur : 500px
setup(600, 500)
#Change le titre de la fenetre
title("Gare de Limoges")
#Met l'image en fond de la fenêtre
bgpic("gare_limoges.png")
|
Les commandes d’affichage
Commande |
Explication |
---|---|
up()
|
Relève le pointeur |
down()
|
Repose le pointeur |
hidleturtle()
|
Cache le pointeur |
showturtle()
|
Affiche le pointeur |
goto(100,100)
|
Déplace le pointeur de 100 pixels vers la droite et de 100 pixels vers le bas |
with(3)
|
Trace une ligne de 3 pixels de largeur. |
dot(10,'red')
|
Trace un point de 10 pixels de diamètre de couleur “red” (rouge). |
write('B(-150;-200)',font = ("Arial", 15, "bold"),align='right')
# align : right: droite; left : gauche ; center : centre
|
Ecrit sur le point B(-150;200) avecla police Arial , 15 : dimension , bold :gras. |
Le code pour l’affichage
Le code |
Résultat |
---|---|
from turtle import*
setup(600,500)
title("Commandes d'affichage")
bgcolor("light blue")
width(3)
write("point de départ")
color('red')
goto(-150,200)
write('B(-150;200)',font=("Arial",12,'italic'),align='center')
up()
color("green")
goto(200,-100)
down()
write("Point d'arrivée")
|
Les Figures
Le code |
Résultat |
---|---|
from turtle import *
setup(600, 500) #fenetre : Largeur : 600px, Hauteur : 500px
title("repère dans la fenêtre") #Change le titre de la fenetre
bgcolor("light blue") #Met le fond de la fenêtre en bleu clair
width(1)# largeur en pixels des traits
#write : écrire ; font : la polise utilisée ; align : position
write('(0;0)',font = ("Arial", 15, "bold"),align='right')
dot(10,'black')#dot:le point de diamètre 10 px et de couleur noire
color('red') # couleur des objets
goto(-200,0) # déplacement vers le point(-200;0)
dot(10,'black')
write('(-200;0)',font = ("Arial", 15, "bold"),align='center')
up()
color('yellow')
goto(0,-200)
down()
dot(10,'black')
write('(0;-200)',font = ("Arial", 15, "bold"),align='right')
goto(0,200)
write('(0;200)',font = ("Arial", 15, "bold"),align='right')
dot(10,'black')
up()#up : on relève le pointeur et on ne trace rien
color('red')
goto(200,0)
down()
#dot : point de diamètre 10 pixels et la couleur est en noir;
dot(10,'black')
write('(200;0)',font = ("Arial", 15, "bold"),align='center')
goto(0,0)
|
LES CERCLES
Pour tracer des cercles avec turtle, il sufit d’utiliser la commande circle. On peut tracer un cercle complet ou un arc de cercle. Pour un arc de cercle il suffit d’indiquer la mesure de l’angle en degré pour afficher l’arc que l’on veut. Les exemples suivants indiquent toutes les possibilités.
Commande |
Explication |
---|---|
circle(200)
|
Construit un cercle de 200 pixels de rayon |
circle(200,180)
|
Construit un demi-cercle de 200 pixels de rayon |
circle(200,90)
|
Construit un arc de cercle de 90 °. |
Le code pour un cercle de rayon de 200 pixels. |
Résultat |
---|---|
from turtle import *
setup(600, 500)
title("Tracer des cercles")
bgcolor("light blue")
#centre du cercle
dot(10,'black')
up()
goto(0,-200)
down()
color('red')
width(3)
#cercle de 200 pixels de rayon
circle(200)
|
Le code pour des arcs de cercles |
Vidéo |
---|---|
from turtle import *
setup(600, 500)
title("Tracer des arcs de cercles")
bgcolor("light blue")
#centre du cercle
dot(10,'red')
color('black')
write('(0;0)',font = ("Arial", 12, "italic"),align='right')
color('red')
width(3)
up()
goto(100,0)
write('180°',font = ("Arial", 12, "italic"),align='right')
up()
goto(0,200)
down()
dot(10,'red')
color('black')
write('(0;200)',font = ("Arial", 12, "italic"),align='right')
goto(0,-200)
dot(10,'red')
write('(0;-200)',font = ("Arial", 12, "italic"),align='right')
color('black')
width(1)
circle(200)
color('red')
width(3)
#demi-cercle de 200 pixels de rayon
circle(200,180)
up()
goto(-100,-80)
color("green")
write('90°',font = ("Arial", 12, "bold"),align='right')
goto(-100,0)
down()
width(3)
goto(-100,-100)
color('black')
down()
write('(-100;-100)',font = ("Arial", 12, "italic"),align='left')
dot(10,'black')
goto(-100,0)
color('green')
circle(100,90)
goto(-100,-100)
up()
width(1)
goto(-200,-100)
down()
color('black')
circle(100)
|
Les Polygones réguliers
La commande circle permet de tracer des polygones réguliers. Des octogones, des triangles, des carrés…
.
Les commandes d’affichage :
Commande | retour |
---|---|
circle(200,step=8)
|
Trace un octone de rayon de 200 pixels. |
circle(100,180,steps=3)
|
Trace la moitié d’un hexagone.Le rayon = 100 pixels. L’angle = 180° .Nombre de segments = 3. |
circle(100,steps=3)
|
Trace un triangle équilatèral le cercle de rayon 100 est le cercle circonscrit de ce triangle. |
circle(100,steps=4)
|
Trace un carré dont les diagonales mesurent 200 pixels. |
Le code pour un polygone |
Résultat |
---|---|
from turtle import *
setup(600, 500)
title("Tracer des polygones")
bgcolor("light blue")
#centre du cercle
dot(10,'black')
up()
goto(0,-200)
down()
color('red')
width(3)
#octogone de 200 pixels de rayon
circle(200,steps=8)
|
Le code pour des polygones |
Résultat |
---|---|
from turtle import *
setup(600, 500)
title("Tracer des polygones")
bgcolor("light blue")
#centre du cercle
listen()
onkeypress("a")
dot(10,'black')
up()
goto(0,-200)
down()
color('red')
width(3)
#octogone
circle(200,steps=8)
up()
goto(0,-100)
down()
color('green')
#demi-hexagone
circle(100, 180,steps=3)
up()
goto(0,50)
down()
color('blue')
width(5)
#triangle équilatéral
circle(50,steps=3)
up()
goto(0,150)
down()
color('black')
#carré
circle(150,steps=4)
|
LES POINTS
Le code pour les points |
Résultat |
---|---|
from turtle import *
setup(600, 300)
bgcolor("light blue")
title("Tracer des points")
couleurs=['black','grey','orange','red','green','blue','gold']
for i in range(len(couleurs)):
up()
goto(-250+i*70,0)
down()
dot(10+i*2,couleurs[i])
up()
goto(-250+i*70,30)
down()
write(couleurs[i],font = ("Arial", 12, "italic"),align='center')
up()
#cache le pointeur
hideturtle()
|
SE DEPLACER
Pour tracer des des figures avec turtle, il faut se déplacer. pour cela il faut utiliser les commandes forward et backward :
La commande forward permet d’avancer, par exemple forward(120) permet d’avancer de 120 pixels. La commande backward permet de reculer, par exemple backward(50) permet de reculer de 50 pixels.
Commande |
Explication |
---|---|
forward(200)
|
Se déplace de 200 pixels en avançant. |
backward(180)
|
recule de 180 pixels. |
goto(200,90)
|
Va à la position (200;90). |
home()
|
Va à la position (0;0). |
right(90)
|
Change de direction de 90° vers la droite. |
left(150)
|
Change de direction de 150° vers la gauche. |
Le code pour un déplacement pour avancer |
Résultat |
---|---|
#avancer.py
from turtle import *
setup(600, 500)
bgcolor("light blue")
title("avancer")
couleurs=['black','grey','orange','red','green','blue','gold']
up()
goto(-200,200)#position(-200;200)
down()
color("red")
width(5)
write("(-200,200)",font = ("Arial", 12, "italic"),align='center')
forward(100)#avance de 100 pixels
width(3)
color('blue')
write("(-100,200)",font = ("Arial", 12, "italic"),align='center')
forward(100)#avance de 100 pixels
width(5)
color('green')
write("(0,200)",font = ("Arial", 12, "italic"),align='center')
forward(100)#avance de 100 pixels
color('red')
write("(100,200)",font = ("Arial", 12, "italic"),align='center')
#cache le pointeur
hideturtle()
|
Le code pour un déplacement pour reculer. |
Résultat |
---|---|
#reculer.py
from turtle import *
setup(600, 500)
bgcolor("light blue")
title("reculer")
couleurs=['black','grey','orange','red','green','blue','gold']
up()
goto(200,200)#position(200;200)
down()
color("red")
width(5)
write("(100,200)",font = ("Arial", 12, "italic"),align='center')
backward(100)#recule de 100 pixels
width(3)
color('blue')
write("(0,200)",font = ("Arial", 12, "italic"),align='center')
backward(100)#recule de 100 pixels
width(5)
color('green')
write("(-100,200)",font = ("Arial", 12, "italic"),align='center')
backward(100)#recule de 100 pixels
color('red')
write("(-100,200)",font = ("Arial", 12, "italic"),align='center')
#cache le pointeur
hideturtle()
|
.
Les triangles , les carrés, les parallélogrammes
Exemples de code pour les figure de base.
Le code pour un carré | Le résultat : |
#_carre.py
from turtle import *
def carre(taille, couleur):
"fonction qui dessine un carré de taille et de couleur déterminées"
color(couleur)
width(10)
c =0
while c <4:
forward(taille)
right(90)
c = c +1
up()
goto(-100,200)
down()
carre(400,'blue')
up()
goto(200,100)
write('Un carré')
|
Le code pour un triangle | Le résultat : |
#triangle.py
from turtle import *
def triangle(taille, couleur):
"""fonction qui dessine un triangle"""
"""de taille et de couleur """
color(couleur)
c =0
width(5)
while c <3:
forward(taille)
right(120)
c = c +1
triangle(150,'green')
|
Le code pour un parallélogramme | Le résultat : |
#avancer.py
from turtle import *
setup(600, 500)
bgcolor("light blue")
title("avancer")
couleurs=['black','grey','orange','red','green','blue','gold']
up()
goto(-200,200)#position(-200;200)
down()
color("red")
width(5)
write("(-200,200)",font = ("Arial", 12, "italic"),align='center')
forward(100)#avance de 100 pixels
width(3)
color('blue')
write("(-100,200)",font = ("Arial", 12, "italic"),align='center')
forward(100)#avance de 100 pixels
width(5)
color('green')
write("(0,200)",font = ("Arial", 12, "italic"),align='center')
forward(100)#avance de 100 pixels
color('red')
write("(100,200)",font = ("Arial", 12, "italic"),align='center')
#cache le pointeur
hideturtle()
|
Des carrés | Une suite de triangles et de carrés |
![]() |
|
# des carrés turtle.py
from dessin_tortue import *
up() # relever le crayon
goto(-300, 50) # reculer en haut à gauche
# dessiner dix carrés rouges, alignés :
i = 0
while i < 10:
down() # abaisser le crayon
carre(60, 'red',epaisseur=5) # tracer un carré
up() # relever le crayon
forward(69) # avancer + loin
i = i +1
a = input() # attendre
|
# carre triangle.py
from dessins_tortue import *
up() # relever le crayon
goto(-220, 120) # positionner le point de départ
tracer(0) # ne pas traînasser
# dessiner une série de formes de + en + grandes :
i, t = 0, 50
while i < 6:
carre(t, 'red', 0) # tracer un carré
forward(t ) # avancer + loin
triangle(t, 'blue', 0)
forward(t ) # avancer + loin
t -= 5 # diminuer la taille
i = i +1
|
Une spirale | Une spirale de figures |
from turtle import *
up()
goto(-120,-50)
angle = 5
distance = 60
compteur = 0
width(5)
color('green')
down()
while compteur <= 30:
forward(distance)
left(angle)
compteur += 1
angle += 2
up()
|
#! /usr/bin/env python
# -*- coding:Utf8 -*-
from dessins_tortue import *
up() # relever le crayon
goto(-100, 220) # positionner le point de départ
tracer(0) # ne pas traînasser
# dessiner une série de formes de + en + petites :
i, t = 0, 65
while i < 15:
carre(t, 'red', 0) # tracer un carré
forward(t + 10) # avancer + loin
etoile6(t, 'cyan', 0)
forward(t +10) # avancer + loin
triangle(t, 'purple', 0)
forward(t +10) # avancer + loin
etoile5(t, 'blue', 0)
forward(t +10) # avancer + loin
t -= 5 # diminuer la taille
i = i +1
|
On peut dessiner des carrés, des losanges, des rectangles à l’aide de la fonction parallélogramme
Un losange. |
Un rectangle. |
---|---|
parallelogramme(150,0,150,'red','losang')
|
parallelogramme(250,200,90,'green','paralelogramme')
|
Le repère dans la fenêtre :
Pour pouvoir se repérer dans la fenêtre, turtle utilise un repère à deux dimensions. Il est centré au milieu de la fenêtre. Ce repère permet de se déplacer en abscisses et en ordonnées .Le centre du repère, est le point ( 0, 0). C’est le point de départ de toute les fonctions.
Un arbre
Un arbre ,le code | l’image |
#Affiche un 'largeur d'abord-arbre' - en revanche
#aux programmes classiques de dessin d'arborescence Logo,
#qui utilisent un algorithme de profondeur d'abord.
#Les usages:
#(1) un arbre-générateur, où le dessin est
#quasi l'effet secondaire, alors que le générateur
#donne toujours Aucun.
#(2) Clonage de tortue : à chaque point de ramification
#le stylet actuel est cloné. Donc au final
#il y a 1024 tortues.
from tkinter import *
from turtle import *
def tree(plist, longueur, m, change):
#plist est une liste de stylos
#longueur de la branche
#m est la moitié de l'angle entre 2 branches
#change est le facteur par lequel la branche est raccourcie
lst = []
if longueur >3:
for p in plist:
p.forward(longueur)
if longueur>127:
p.color('black')
p.width(10)
if 127>longueur>81:
p.color('blue')
p.width(5)
if 81>longueur>51:
p.color('orange')
p.width(3)
q = p.clone()
p.left(m)
q.right(m)
lst.append(p)
lst.append(q)
for x in tree(lst, longueur*change, m, change):
yield None
def faire():
width(10)
forward(30)
p = Turtle()
p.color('black')
p.setundobuffer(None)
p.hideturtle()
p.speed(0)
p.getscreen().tracer(30,0)
p.left(90)
p.width(20)
p.penup()
p.forward(-210)
p.pendown()
t = tree([p], 200, 65, 0.6375)
for x in t:
pass
title('educationdunumerique.fr')
bgcolor('bisque')
faire()
mainloop()
|
![]() |
Une lettre
Une lettre ,le code | l’image |
from turtle import *
import math
def lanterne(l):
down()
width(10)
left(90)
color('cyan')
forward(l)
right(90)
forward(l)
right(90)
forward(l)
right(90)
forward(l)
right(135)
color('green')
forward(l * math.sqrt(2))
left(90)
forward(l * math.sqrt(2) / 2)
left(90)
color("red")
forward(l * math.sqrt(2) / 2)
left(90)
forward(l * math.sqrt(2))
right(45)
bgcolor('bisque')
goto(-100,-100)
lanterne(200)
ht()
exitonclick()
|
![]() |
Une étoile
Une étoile ,le code | l’image |
from turtle import *
title('educationdunumerique.fr')
setup(1000,1000)
up()
bgcolor('yellow green')
goto(-250,-000)
width(10)
down()
color('red', 'yellow')
begin_fill()
i=9
while i!=0:
forward(600)
left(200)
i=i-1
end_fill()
done()
|
![]() |
turtle forward
turtle graphique est une manière bien connue et intuitive pour initier les enfants au monde de la programmation. Un tel module faisait partie initialement du langage de programmation Logo créé par Wally Feurzig et Seymout Papert en 1967.
Imaginez un robot sous forme de tortue partant au centre (0, 0) d’un plan cartésien x-y. Après un import turtle, exécutez la commande turtle.forward(15) et la tortue se déplace (sur l’écran) de 15 pixels en face d’elle, en dessinant une ligne.
Turtle star
turtle permet de dessiner des formes complexes en utilisant un programme qui répète des actions élémentaires.
forward
Déplacez la tortue vers l’avant de la distance spécifiée. Alias : vers l’avant | fd Argument : distance – un nombre (entier ou flottant)
left(90)
Permet de tracer un carré en quatre fois.
left(120)
Permet de tracer un triangle en trois fois.
Vidéo |
---|
html5 video streaming by EasyHtml5Video.com v4.0 |
Le code de l’application#04carre-triangle.py
from turtle import *
def triangle(i):
col=["misty rose","salmon","aquamarine","khaki","tan","pink","plum","bisque",
"pale green","turquoise","green yellow","coral","salmon"]
width(30)
color(col[i])
for j in range(3):
forward(125)
left(120)
k=2
bgcolor('beige')
up() # relever le crayon
setup(1850,1000)
hauteur=263
largeur=-340
goto(-390,-380)
width(45)
color("beige")
for j in range(4):
forward(820)
left(90)
color("blue","khaki")
down()
#trace un carré
for j in range(4):
forward(820)
left(90)
up()
goto(largeur, hauteur) # reculer en haut à gauche
# dessiner 12 triangles de plusieurs couleurs
i = 0
j=0
while i < 25:
# abaisser le crayon
down()
# tracer un triangle
if i%2==1:
triangle(j)
j=j+1
up() # relever le crayon
forward(145) # avancer + loin
i = i +1
if i%5==0:
hauteur=hauteur-150
goto(largeur, hauteur)
color("blue","khaki")
|
hideturtle
Exemple de modification d’une application
La commande forward permet d’avancer, par exemple forward(120) permet d’avancer de 120 pixels. La commande backward permet de reculer, par exemple backward(50) permet de reculer de 50 pixels.
Commande |
Explication |
---|---|
clock
|
horloge analogique indiquant l’heure de votre ordinateur |
speed
|
un nombre entier compris dans l’intervalle entre 0 et 10 inclus, ou une chaîne de vitesse .Règle la vitesse de la tortue à une valeur entière comprise entre 0 et 10 inclus. Si aucun argument n’est donné, renvoie la vitesse actuelle |
hideturtle()
|
Rend la tortue invisible. C’est recommandé lorsque vous êtes en train de faire un dessin complexe, vous observerez alors une accélération notable. |
pencolor()
|
Renvoie la couleur du stylo actuelle en tant que chaine de spécification de couleur ou en tant qu’un n-uplet (voir l’exemple). |
pencolor(colorstring)
|
Définit la couleur du stylo à colorstring, qui est une chaîne de spécification de couleur Tk, elle que « red », « yellow », ou « #33cc8c » |
pencolor((r, g, b))
|
Définit la couleur du stylo à la couleur RGB représentée par le n-uplet de r, g et b.Chacun des r, g et b doit être dans l’intervalle 0..colormode, où colormode est vaut 1.0 ou 255 |
pencolor(r, g, b)
|
Définit la couleur du stylo à la couleur RGB représentée par r, g et b. Chacun des r, g et b doit être dans l’intervalle 0..colormode. |
Le code classique. |
Résultat |
---|---|
from tkinter import *
from turtle import *
from time import perf_counter as clock, sleep
def Refaire(p, ne):
turtlelist = [p]
#Création de
for i in range(1,ne):
q = p.clone()
q.rt(360.0/ne)
turtlelist.append(q)#La liste accuule les données
p = q
for i in range(ne):
c = abs(ne/2.0-i)/(ne*.7)
# Autorisation de poursuivre l'application
# En parallèle
for t in turtlelist:
t.rt(360./ne)
t.pencolor(1-c,0,c)
t.fd(19)
def faire():
Can = Screen()#Canvas
bgcolor('bisque')
p=Turtle()
p.speed(0)
p.hideturtle()
p.pencolor("red")
p.pensize(5)
Can.tracer(36,0)
tem= clock()
Refaire(p, 36)
temp = clock()
temps = temp-tem
sleep(1)
at = clock()
title('educationdunumerique.fr')
faire()
mainloop()
|
![]() | >
hideturtle transformé
Le code transformer. |
Résultat |
---|---|
from tkinter import *
from turtle import *
from time import perf_counter as clock, sleep
def Refaire(p, ne,r,g,b,taille):
turtlelist = [p]
#Création de
for i in range(1,ne):
q = p.clone()
q.rt(360.0/ne)
turtlelist.append(q)#La liste accuule les données
p = q
for i in range(ne):
c = abs(ne/2.0-i)/(ne*.7)
if r!=1:
r=0.45+i/100
if g!=1:
g=0.5+i/100
if b!=1:
b=0.55-i/120
# Autorisation de poursuivre l'application
# En parallèle
for t in turtlelist:
t.rt(360./ne)
t.pencolor((r,g,b))
t.fd(taille)
def faire():
Can = Screen()#Canvas
bgcolor('white')
p=Turtle()
p.speed(0)
p.hideturtle()
p.pencolor("red")
p.pensize(5)
Can.tracer(3,0)
tem= clock()
Refaire(p, 50,1,0,0,27)
temp = clock()
temps = temp-tem
sleep(1)
at = clock()
title('educationdunumerique.fr')
setup(1850,1000)
faire()
mainloop()
|
html5 video streaming by EasyHtml5Video.com v4.0 |
Les exercices
Voici les exercices à faire pour apprendre la programmation en utilisant les connaissances en géométrie.
Il faut trouver le code qui permet de construire les dessins suivants:
Une étoile : | Une enveloppe : |
Une toiture : |