File: tp5graph.tex.in

package info (click to toggle)
mlv 3.1.0-8
  • links: PTS
  • area: main
  • in suites: bookworm
  • size: 10,596 kB
  • sloc: ansic: 18,982; sh: 4,760; makefile: 381; objc: 246; xml: 92
file content (124 lines) | stat: -rw-r--r-- 5,093 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
% This file is part of the MLV Library.
% 
% Copyright (C) 2012 Adrien Boussicault, Marc Zipstein
% 
% This Library is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
% 
% This Library is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
% GNU General Public License for more details.
% 
% You should have received a copy of the GNU General Public License
% along with this Library.  If not, see <http://www.gnu.org/licenses/>.

\documentclass[11pt]{article}
\usepackage{graphics}
\usepackage{a4wide}
\usepackage[latin1]{inputenc}        
\begin{document}
\begin{center}
{\Large \bf TP 5\\\mbox{} \\
Utilisation de la bibliothque graphique MLV}
\end{center}
\hrule
\vspace*{1mm}
L'objet de ce TP est d'utiliser la librairie MLV pour dessiner et interagir avec
votre programme \`a l'aide de la souris et du clavier.

Des programmes de d\'emonstration sont disponibles dans le r\'epertoire \\ 
\verb#/usr/share/doc/mlv/examples#. 
Recopier ces exemples par la commande\\
{\tt cp -r /usr/share/doc/mlv/examples .}

Les diff\'erents programmes propos\'es sont class\'es en trois cat\'egories : 
beginner (d\'ebutant), medium (moyen) et advanced (avanc\'e).

Pour ce TP, vous aurez uniquement besoin di'utiliser les fonctions 
propos\'ees dans la cat\'egorie beginner.

Pour compiler les programmes de la cat\'egorie beginner, placez vous dans le 
r\'epertoire de compilation en tapant la commande
{\tt cd examples/beginner},
puis tapez la commande:
{\tt make}.

Pour compiler votre programme \verb#demo.c#, recopier le \verb#Makefile# 
situ dans le rpertoire \verb#/usr/share/doc/mlv/examples/beginner/Makefile# dans le 
le rpertoire o se trouve \verb#demo.c#.
Modifier le fichier \verb#Makefile# ainsi copi en remplaant la ligne TARGET=... par:
\begin{verbatim}
TARGET = demo
\end{verbatim}

Les commentaires de chacunes des d\'emonstrations constituent une documentation 
des fonctions de la librairie MLV.
Vous devez donc lire les diff\'erents codes sources pr\'esents dans le 
r\'epertoire \verb#beginner# en recherchant les fonctions utilisables.

Une documentation plus compl\'ete et d\'etaill\'ee peut \^etre trouv\'ee en tapant 
dans la commande : {\tt man MLV\_all.h}.

Si vous souhaitez installer cette librairie chez vous, vous pouvez vous reporter
 la documentation pr\'esente dans le dossier \verb#/usr/share/doc/mlv/index.html#
ou vous rendre sur le site \verb#@PACKAGE_URL@#.

\vspace*{1mm}
\hrule
\vspace*{5mm}

\begin{enumerate}
\item {\bf Rectangle}
\begin{itemize}
\item \'Ecrire un premier programme qui ouvre une fentre de largeur 400 pixels et de hauteur 300 pixels.
\item \'Ecrire le programme \verb+Rectangle+ dessinant un rectangle dans une
fen\^etre dont les dimensions ont \'et\'e fournies par l'utilisateur. Les
dimensions du rectangle seront exactement la moiti\'e de celle de la fen\^etre
et le rectangle devra \^etre centr\'e dans la fen\^etre.
Par exemple, on aimerait avoir~:
\begin{center} 
\includegraphics{rectangle.eps}
\end{center}
\item Modifier le programme \verb+Rectangle+ afin d'afficher un rectangle rempli
de couleur bleue.
\end{itemize}
\item {\bf Ellipse}
\begin{itemize}
\item
\'Ecrire le programme \verb+Ellipse+ dessinant la plus grande ellipse inscrite
dans une fen\^etre dont les dimensions ont \'et\'e fournies par l'utilisateur.
Par exemple, on aimerait avoir~:
\begin{center}
\includegraphics{rectangle-ellipse.eps}
\end{center}
\item
\'Ecrire le programme \verb+Cercle+ dessinant le plus grand cercle inscrit
dans une fen\^etre dont les dimensions ont \'et\'e fournies par l'utilisateur.
\end{itemize}
\item {\bf Cercle}\\
\'Ecrire un programmee \verb+Cercle_epais+ permettant de dessiner un cercle
dont le centre \verb+(x,y)+, le rayon, la couleur et l'\'epaisseur du trait
(exprim\'e en points) peuvent \^etre donn\'es par l'utilisateur. Deux
techniques sont envisageables: discuter les avantages et inconv\'enients de
chacune d'elles.
\item {\bf Animation}\\
\'Ecrire le programme \verb+Cercle_anim+ affichant un cercle centr\'e dans
la fen\^etre et dont le rayon cro\^{\i}t selon un pas (en nombre de pixels)
donn\'e par l'utilisateur. L'affichage du cercle est stopp\'e lorsque le
cercle atteint la plus grande dimension (largeur ou hauteur de la fen\^etre.
Ces dimensions ont \'et\'e pr\'ealablement fournies par l'utilisateur.
\item {\bf Saisie de points avec la souris}\\
\'Ecrire le programme \verb+Polygone+ permettant \`a l'utilisateur de
dessiner un polygone dans une fen\^etre en cliquant dans la fen\^etre pour
indiquer la position des \verb+n+ sommets. Le nombre \verb+n+ sera
pr\'ealablement fourni par l'utilisateur et permettra de g\'en\'erer un
polygone de (\verb+n-1+) ar\^etes.
\item Transformer les programme pr\'ec\'edent en fonction appelable  partir d\,'un
  menu
\end{enumerate}
\end{document}