Skip to content

Utilisation

Abdou Kandji edited this page Jul 9, 2021 · 3 revisions

Présention

TurtleIutv s'agit d'une extension pour le Jupyter Notebook. Une tortue graphique est une manière bien connue et intuitive pour initier les débutants au monde de la programmation. Turtle permet d'utiliser des primitives graphiques en utilisant un style de programmation orientée objet ou procédural, sur cette extension la programmation orientée a été remplacé par la programmation procédurale parce que les étudiant ne sont pas initiés à l’objet au début de leur formation.

Les méthodes de la tortue

Initialisation de la tortue

drawing(width, limit, color, turtle) : Avant d'utiliser n'importe quelle fonction de la tortue dans une cellule, il faut impérativement appeler cette fonction après avoir importé le module turtleIutv. Les paramètres sont nommés et peuvent être placés dans n'importe quel ordre :

  • width : de type entier est la taille du canevas. (vaut 500 par défaut)
  • limit : aussi de type entier est l'échelle de traçage en pixel sur la taille du canevas. (vaut 1000 par défaut)
  • color : un string donne la couleur de fond du canevas. (par défaut en bleu '#99CCFF' code hexadécimal)
  • turtle : est un Boolean qui vaut True par défaut, si elle est True la tortue est affichée sinon un petit point vert matérialise la tortue.

Le but de cette fonction est de faire de la programmation procédurale et éviter la programmation objet, car les débutants ne sont pas familiers avec l'objet. Exemple :

drawing(turtle = False, width = 500, limit = 1000,color = "white")
# Initialise le dessin sans afficher la tortue, avec une taille du canevas de 500x500,
# sur une échelle de 1000px et dont le background a une couleur blanche.

# Voici d'autres exemple d'appel :
# 1) sans les paramètres
drawing()
# 2) Paramètres sans nom
drawing(400,500,"#F23030",False)
# 3) Que 2 paramètres
drawing(400,500)
# 4) Changement d'ordre des paramètres
drawing(limit = 1000, turtle = False, width = 500)

Voici le code minimum pour afficher le canevas (tortue)

# Code minimum pour l'affichage
from turtleIutv import *
drawing()

Les mouvements possibles

  • forward(distance) : Avance la tortue d'une distance passée en paramètre, dans la direction où elle se dirige. Exemple :
forward(100)
# la tortue avance de 100
  • backward(distance) : Déplace la tortue d'une distance passée en paramètre vers l'arrière, dans le sens opposé à sa direction. Exemple :
backward(25)
# la tortue recule de 25
  • goto(x,y) : Déplace la tortue vers une position spécifiée par les coordonnées x et y. Si la tortue est affichée, elle fait d'abord une rotation et se dirige vers son point d'arrivé avant de se déplacer. Exemple :
goto(0,0)
# Déplace la tortue vers l'origine du repère.
  • home() : Déplace la tortue vers sa position d'origine au centre du canevas. Elle utilise la fonction goto(x,y) dont le point de coordonnées (x,y) est le centre du repère. Exemple :
home()
# Déplace la tortue vers le centre du repère.
  • right(alpha) : Tourne la tortue à droite d'un angle alpha, l'unité de l'angle est par défaut en degré. Exemple :
right(90)
# Tourne la tortue vers la droite avec un angle droit.
  • left(alpha) : Tourne la tortue à gauche d'un angle alpha. Exemple :
lef(180)
# Fait tourner la tortue d'un demi-tour vers la gauche.
  • circle(rayon, extend) : Dessine un cercle de rayon rayon. Le centre du cercle se trouve à une distance de rayon; l'angle extent détermine quelle partie du cercle est dessinée. Si extent n'est pas fourni, un cercle est dessiné en entier. Exemple :
circle(100, 180)
# Trace un demi-cercle de rayon 100.
  • speed(vitesse) : Règle la vitesse de la tortue à une valeur entière. La valeur est remenées à 1 ou à 10 si elle n'est pas comprise dans cette intervalle. Exemple :
speed(15)
# change la vitesse de la tortue en 10.

Réglage du stylo

  • up() : Baisse la pointe du stylo et dessine quand la tortue se déplace. Exemple :
up()
# Baisse la pointe du stylo.
  • down() : Lève la pointe du stylo et ne dessine pas quand la tortue se déplace. Exemple :
down()
# Lève la pointe du stylo.
  • setColor(couleur) : change la couleur du stylo avec la nouvelle valeur couleur passée en paramètre. Exemple :
setColor("green")
# change la couleur du stylo.
  • setRandomColor() : change la couleur du stylo avec une nouvelle couleur prise au hasard.

Exemple :

setRandomColor()
  • setSize(taille) : Règle l'épaisseur de la ligne du stylo avec la nouvelle valeur taille passée en paramètre. Exemple :
setSize(8)
# change la taille du stylo en 8.

Coloriage de figures

  • begin_fill() : À appeler juste avant de dessiner une forme à remplir et prend deux paramètres optionnels. - borderColor : la couleur de la bordure de la figure coloriée. - fillColor : la couleur de de remplissage de la figure coloriée.

Exemple d'utilisation :

# Par défaut la couleur de la bordure et la celle de remplissage de la figure sont les mêmes
begin_fill()

# la bordure en 'green' (vert), et la couleur de remplissage 'fillColor' est la couleur du trait de la tortue
begin_fill("green")

# Pour dessiner une figure coloriée en noir et le trait en rouge.
begin_fill("red","black")

# bordure sera en vert, fillColor => couleur du trait de la tortue
begin_fill(borderColor = "green")

# fillColor => figure est remplie en rouge et la bordure a la même couleur que celle du trait de la tortue, 
begin_fill(fillColor = "red")

# Pour dessiner une figure coloriée en jaune et le trait en bleu.
begin_fill(fillColor = "yellow", borderColor = "blue")

# bordure en vert, fillColor en rouge
begin_fill("red", borderColor = "green")

# bordure en rouge, fillColor en vert
begin_fill("red", fillColor = "green")
  • end_fill() : Arrête le processus de coloration de figures. Exemple :
end_fill()
# Arrête le processus de coloration d'une figure.

Exemple d'utilisation

Une fois l'extension installée, le module peut être directement importé dans une cellule de code d'un notebook.

Voici un exemple et le résultat obtenu après exécution du code.

from turtleIutv import *
drawing()
speed(5)
colours=["red","blue","yellow","brown","black","purple","green"]
up()
left(90)
forward(250)
right(90)
down()
i = 0
while i < 18:
    setColor(colours[i%7])
    setSize(i%7+1)
    speed(i%10+1)
    right(20)
    forward(100)
    i += 1
right(90)

up()
home()
down()
goto(150, 200)
backward(300)
home()

Voir le notebook d'exemple sur binder

Binder

Clone this wiki locally