next up previous contents index
Next: Réalisation Up: Grapheur Previous: Grapheur   Contents   Index


Introduction

La bibliothèque graphique d'OpenScheme est un ensemble de fonctions primitives gérant l'affichage graphique. Cette bibliothèque de fonction est disponible de manière identique pour les environnements issus d'Unix et Windows. Le même programme tournera de manière identique sur tous les systèmes d'exploitation supportés par OpenScheme.

Les lecteurs souhaitant programmer avec OpenScheme auront intérêt à utiliser la version de débogage de l'environnement, permettant de visualiser les variables, de poser des points d'arrêts et de visiter la pile des appels de fonctions. Nous rappelons qu'OpenScheme est le seul environnement Scheme proposant un débogage au niveau expressions.

Le programme que nous décrivons ici est un cas pratique d'utilisation du langage. Le grapheur est un logiciel permettant de tracer des courbes dans une fenêtre en donnant un ou plusieurs producteurs qui sont des fonctions numériques. Le grapheur proposé ici est très simple et ne propose qu'un nombre limité d'options. Voici un exemple d'utilisation du grapheur :

Osm> (graph ; mode de tracé = dot ou line
            'line 
            ; x initial
            0 
            ; x final
            (* 2 3.14116) 
            ; pas pour x
            0.1
            ; producteurs
            sin cos)
 => #unspecified

La fonction graph possède comme premier paramètre le type de tracé souhaité ; le choix est soit le symbole dot pour un tracé en point à point, soit line pour un tracé en ligne. D'autres modes de tracé peuvent être ajoutés, comme le tracé en rectangles ou en camembert. Ensuite, on spécifie la page des valeurs de x en donnant la valeur initiale, la valeur finale et le pas. Ces valeurs peuvent être positives, négatives, entières ou réelles. Les producteurs sont invoqués pour les différentes valeurs de x appartenant à la plage définie. Le nombre de producteur est quelconque. Un producteur est une fonction ayant comme argument une valeur de x, et retournant la valeur de y correspondante. La fonction peut être aussi complexe que nécessaire.

Dans l'exemple, les producteurs sont les fonctions standards sin (sinus) et cos (cosinus) de Scheme. La fenêtre affichée par le grapheur est montrée en figure 17.1.

Figure: des fonctions sinus et cosinus entre 0 et 2.pi..

Pour tracer une fonction d'équation y=x, nous invoquons la fonction graph comme cela :

Osm> (graph ; mode de tracé = dot ou line
            'line 
            ; x initial
            0 
            ; x final
            (* 2 3.14116) 
            ; pas pour x
            0.1
            ; producteurs
            (lambda (x) x))
 => #unspecified

Nous pouvons combiner toutes sortes de fonctions, à la seule condition que le producteur soit une fonction à un argument retournant une valeur numérique. Si nous voulons tracer la fonction f(x)=3.x2+5.x-3, nous appelons graph avec comme producteur la fonction :

Osm> (graph ; mode de tracé = dot ou line
            'line 
            ; x initial
            0 
            ; x final
            (* 2 3.14116) 
            ; pas pour x
            0.1
            ; producteurs
            (lambda (x)
              (+ (* 3 x x)
                 (* 5 x)
                 -3)))
 => #unspecified


next up previous contents index
Next: Réalisation Up: Grapheur Previous: Grapheur   Contents   Index
© 1993 to 2001 Erian Concept