INTRODUCTION |
Pour atteindre un meilleur rendu graphique on peut faire recours à l’impression puisque la résolution des imprimantes, typiquement 1200x1200 dpi, est bien meilleure que celle des écrans qui sont souvent limités à 100 dpi. L’impression de graphiques GPanel est réalisée de telle manière que les opérations de dessin sont imprimées sur papier au lieu d’être affichées à l’écran, ce qui engendre des graphiques de type vectoriels d’excellente qualité à l’impression. Pour imprimer un graphique, il faut commencer par définir une fonction nommée de façon arbitraire comportant les instructions du graphique souhaité. Lorsqu’on appelle cette fonction directement, le dessin sera réalisé à l’écran. Par contre, si l’on passe le nom de cette fonction à la fonction printerPlot(), le graphique sera envoyé vers l’imprimante au lieu de s’afficher à l’écran. L’appel de printerPlot() va ouvrir une boîte de dialogue permettant de régler différentes options d’impression, en particulier le choix de l’imprimante. Il est souvent possible d’imprimer sur des imprimantes virtuelles permettant de créer des fichiers graphiques vectoriels en haute résolution (par exemple au format TIFF ou EPS). |
UN DRAGON QUI-NE-CRACHE-PAS-DE-FEU |
Puisque l’on s’intéresse à l’impression, la fonction figure(s, n, flag) permettant de dessiner la courbe est donnée sans grandes explications. On remarquera néanmoins que la courbe est définie de manière récursive. Les deux appels récursifs différents diminuent tous deux la valeur du paramètre de n à n-1 et l’ancrage de la récursion survient lorsque n est nul. De plus, la fonction demande un paramètre flag prenant les valeurs 1 ou -1 qui indique la direction de dessin. Pour imprimer l’image, on indique les instructions nécessaires dans la fonction doIt() qui ne prend pas de paramètre. Si l’on appelle directement la fonction doIt(), le dessin apparait à l’écran mais lorsqu’on passe le nom de la fonction doIt à la fonction printerPlot(), le graphique est imprimé sans faire apparaître la tortue. from gturtle import * def drawFigure(): repeat 3: fillToPoint(0, 0) rightArc(100, 90) right(90) rightArc(100, 90) right(90) left(120) makeTurtle() hideTurtle() setPenColor("black") while True: drawFigure() delay(100) clear() right(20)
|
MEMENTO |
Il faut faire attention à placer le dessin de manière appropriée sur la feuille avec la fonction setPos(). La position de départ dépend de la taille de la fenêtre tortue ainsi que des paramètres d’impression choisis. Il est possible de réaliser l’impression avec un facteur d’agrandissement:math:`k > 1` ou un facteur de réduction :math:`k<1` en tant que second paramètre de la fonction printerPlot(doIt, k). |
EXERCICES |
|