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 turtle
Fonctions turtle
turtle est une fonctionnalité Python comme une planche à dessin, qui nous permet de commander à une turtle de dessiner partout.
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 |
penddown()
|
aucun | Tire le stylet vers le bas et dessine |
up()
|
aucun | Tire le stylet vers le haut |
down()
|
Paramètres | Tire le stylet vers le bas |
position()
|
aucun |
|
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.
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))
équivalent à pencolor(colorstring1) et fillcolor(colorstring2) et de manière analogue, si l’autre format d’entrée est utilisé.
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 tuple de r, g et b, qui représentent une couleur RVB, et chacun de r, g et b sont dans la plage 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
Si la forme de tortue est un polygone, le contour de ce polygone est dessiné avec la nouvelle couleur de stylo.
fillcolor()
la couleur de remplissage(). Renvoie la couleur de remplissage actuelle en tant que chaîne de spécification de couleur, éventuellement au format hexadécimal. Peut être utilisé comme entrée pour un autre appel ;
color pencolor fillcolor
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.
Réglage de la fenêtre
script | 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
script | 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
Commandes | Explications |
---|---|
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). |
Note
write('B(-150;-200)',font = ("Arial", 15, "bold"),align='right')
# align : right: droite; left : gauche ; center : centre
Ecrit sur le point B(-150;200) avec la police Arial , 15 : dimension , bold :gras.
Le code pour l’affichage
script | 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
script | 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.
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 |
---|---|
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)
|
html5 video background by EasyHtml5Video.com v4.0 |
Les Polygones réguliers
Polygones
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
Pour se repérer dans la fenêtre, il faut tracer des points, la commande est dot . Le code introduit le code pour construire une boucle avec le code for et l’utilisation d’une liste avec sa longueur len
Le code pour des polygones. | 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()
|
Déplacement
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.
Commandes | Explications |
---|---|
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()
|
Triangle
Le code pour un triangle. | 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')
|
Parallélogramme
Le code pour un parallélogramme. | 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()
|
Carré
Le code pour un parallélogramme. | 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 parallélogramme. | Résultat |
---|---|
#turtle_carre.py
from turtle import *
title('educationdunumerique.fr')
setup(1050,1050)
up()
def carre(taille, couleur,large):
#fonction qui dessine un carré de taille
#et de couleur déterminées
down()
color(couleur)
width(large)
c =0
while c <4:
forward(taille)
right(90)
c = c +1
up()
goto(-390,430)
carre(800,'lawn green',180)
up()
up()
goto(-190,230)
carre(400,'lawn green',10)
up()
goto(-290,330)
carre(600,'lawn green',10)
up()
coul=['red','green','blue','purple1','violet','pink',
'cyan','maroon1','light blue','red']
k=0
j=0
m=0
for i in range(20):
if -1<i<6 : k=i
if 5<i<10 :
j=i%5
if 9 <i<16:
j=5
k=5-i%10
if 15<i:
k=0
j=20-i
goto(-280+(k*100),-180+(j*100))
carre(80,coul[i%4],10)
up()
goto(0,0)
write('Méthode pour\nfaire des\nCarrés',
font = ("Arial", 45, "italic"),align='center')
|
![]() |
Aligner
Aligner
Alignement de carrés. | Alignement de carrés et de triangles. |
---|---|
![]() |
![]() |
# 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. | 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
|
carré, losange, rectangle, parralélogamme
On peut dessiner des carrés, des losanges, des rectangles à l’aide de la fonction parallélogramme.
Losange. | Rectangle. |
---|---|
parallelogramme(150,0,150,'red','losang')
|
parallelogramme(250,200,90,'green','paralelogramme')
|
Un arbre
Un arbre
- 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: un arbre-générateur, où le dessin est ausi l’effet secondaire, alors que le générateur donne toujours.
- Clonage de tortue : à chaque point de ramification le stylet actuel est cloné.
- Donc au final il y a 1024 tortues.
Le code d’un arbre. | L’image. |
---|---|
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()
|
![]() |
left, right
Gauche, droite. | 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()
|
![]() |
beguin_fill
Gauche, droite. | 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.
Une toiture : |
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()
|
![]() |
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 |