Machine à tracer

0 - Préambule

Dans cette séance, nous écrirons nos programmes en java, il va vous falloir les compiler et les exécuter pour pouvoir tester vos solutions :

  1. compiler un programme en java
  2. executer un programme en java
    Une fois votre programme compilé, vous povez l'exécuter grâce à la machine virtuelle java :
    			java mon_programme
    			
    où mon_programme est la classe de votre programme contenant la méthode main.

1 - La machine

Récupérez le fichier MachineTrace.java. Ce fichier contient l'implémentation d'une mini bibliothèque graphique qui vous fournit des primitives simples permettant de dessiner dans une fenêtre. Vous pouvez trouver une documentation détaillée du contenu de cette classe ici. La création d'une machine à tracer provoque l'ouverture d'une fenêtre dont les dimensions sont données au constructeur de la machine. Dans la machine à tracer, les tracés sont effectués par une plume, et les primitives permettent de manipuler cette plume. L'état de la plume est défini par

Les principales primitives de manipulations sont les méthodes suivantes, implémentées par MachineTrace :

La plume trace un trait lors de ses déplacements en position basse, c'est-à-dire que les méthodes avancer et placer tracent un trait lorsque la plume est basse. Le fichier Un_Segment.java contient un programme utilisant cette bibliothèque pour ouvrir une fenêtre à l'écran (de dimension 400x400 pixels) et y tracer un segment. Un autre programme, contenu dans SegmentsAlignes.java, trace 20 segments en diagonale de couleurs différentes avant de tout effacer et de recommencer dans l'autre sens. En outre, chaque segment est tracé progressivement par pas de 10 avec des attentes après chaque commande, ce qui donne l'impression de déplacement de la plume.

2 - Exercices

Créez un programme pour tracer ...
  1. N rayons à partir de l'origine comme par exemple sur la figure ci-dessous (pour N=8) :
  2. un ensemble de carrés disposés en rectangles : le dessin est paramétré par le nombre de lignes, le nombre de carrés par ligne et la longueur du côté des carrés.
  3. un ensemble de carrés disposés en triangle (paramétré par le nombre de lignes et le côté des carrés).
  4. des segments "glissants" :
  5. des triangles dans des triangles...
  6. un cube :
... et pour ceux qui auraient tout terminé, quelques dessins complémentaires...