wiki:infofem:lda:cours2021:lda2021-notion-fonction

Créer nos propres formes et les réutiliser


Maintenant que nous avons vu comment utiliser les formes basiques disponibles, nous allons pouvoir dessiner nos propres formes plus complexes qui seront composées de ces formes basiques. Nous allons aborder ici une nouvelle notion : les fonctions, qui vous seront utiles dans la réalisation de votre oeuvre.

Une fonction est un bout de code que l'on peut réutiliser plusieurs fois sans avoir à tout réécrire. Par exemple dans le cours précédent nous avons vu beaucoup de fonctions comme rect, line, stroke … Ces instructions sont des bouts de code écrits par d'autres informaticiens que vous pouvez utiliser simplement en appelant la fonction. Dans la suite nous allons donc pouvoir écrire nos propres fonctions.


Supposons que nous voulions dessiner une cible, nous pourrions écrire ceci :

  ellipse(100,100,50,50)    # premier cercle de centre (100,100) et de diamètre 50
  ellipse(100,100,30,30)    # deuxième cercle de centre (100,100) et de diamètre 30
  ellipse(100,100,10,10)    # troisième cercle de centre (100,100) et de diamètre 10



Nous avons donc ici 3 cercles de même centre et de diamètres différents.

Si nous voulions dessiner plusieurs cibles, il faudrait recopier ces 3 lignes plusieurs fois ce qui n'est pas très pratique et qui rendrait vite le programme illisible. Nous allons donc créer notre propre fonction cible() qui va dessiner notre forme plus complexe.

Pour dessiner plusieurs cible à différents endroits il existe plusieurs méthodes. Ici nous utilisons translate(x,y).
Cette fonction (fournie par processing) effectue une translation du repère de (x,y). C'est comme si vous bougiez votre feuille de x vers la gauche et de y vers le bas.
Vous pourrez donc dessiner des formes à différents endroits sans avoir à changer les paramètres des fonctions de dessin (rect,triangle…)

Pour utiliser translate il faut d'abord sauvegarder la position du repère (la feuille) à l'état initial. Nous vous fournissons pour cela la fonction save().
Ensuite pour remettre le repère (la feuille) à sa position initiale, nous vous fournissons la fonction reset() qui fait ce travail.

Note: Une autre méthode existe, nous la verrons plus loin dans Créer des fonctions avec 
paramètres



  • wiki/infofem/lda/cours2021/lda2021-notion-fonction.txt
  • Dernière modification : 2024/02/06 18:25
  • de yann.secq