Département Informatique TP05, traceur de courbes Page 1/2 Le but de ce TP est de réaliser une application permettant de tracer des courbes mathématiques, du type y = f(x). Nous allons pour cela améliorer la classe d'arbre binaire de calcul vue en cours et modifiée en TD.
I : Test de la classe
Utilisez l'application fournie sur le commun pour tester la classe. Vérifiez bien que la gestion de parenthèses fonctionne (reprendre la classe faite en TD)
II : Ajout de la notion de variable
Modifiez la classe de manière à inclure la gestion de variable, c'est à dire la possibilité pour une feuille d'avoir une valeur non constante. Il faut donc rajouter une propriété à la feuille, et modifier certaines méthodes de la feuille et de l'arbre. La méthode publique arbre_calcul::Valeur() sera modifiée et prendra en paramètre un double (la valeur de la variable x pour le calcul).
Testez la modification.
III : Zone de dessin
Créer une classe POINT et une classe DESSIN (dans un espace iut) comme suit :
struct POINT // représente un point du plan « réel » {
double x;
double y;
POINT(double a,double b):x(a),y(b){}
};
class DESSIN
{ TCanvas* Canvas; // canvas où dessiner int PixXmax;
int PixYmax;
POINT Pmin;
POINT Pmax;
public:
DESSIN(TCanvas* cnv,int xmax, int ymax, POINT pmin, POINT pmax);
void Ligne( POINT P1, POINT P2, TColor couleur);
void Axes(); // trace les axes du plan cartésien };
La classe DESSIN servira à dessiner dans un plan cartésien (où les coordonnées sont des réels) à l'aide de la classe TCanvas de la VCL (voir l'aide en ligne), où les coordonnées sont exprimées en pixels.
Determiner le calcul nécessaire pour passer d'un point exprimé en coordonnées réelles en pixels, à partir des informations contenues dans la classe DESSIN. En faire une fonction privée de la classe
Département Informatique TP05, traceur de courbes Page 2/2 DESSIN.
Ecrire la méthode Axes() qui permet de tracer un repère cartésien (tracer en pointillés noirs).
Ecrire la méthode Ligne() qui permet de tracer une ligne sur le plan cartésien.
Testez la classe.
IV : Traceur
Ecrire l'application Traceur de courbes en utilisant les objets déjà écrits (arbre_calcul, POINT, DESSIN, etc...). L'interface utilisée peut ressembler à celle-ci :