© François Le Coat
©Karl Samyn

Last modified :
         27 apr 1998

                        \ ----------------------- /
                      >>>>   EUREKA 2.12 02/87   <<<<
                        / ----------------------- \
                             breve description
Note : English documentation is available in the EURKPAP.UK directory, maintained by Karl SAMYN (see his home page at Royal Military Academy of Belgium).

    Eurêka est un traceur. Il permet de visualiser des graphes de fonctions mathématiques diverses définies dans "HELP". Il est possible de proposer des expressions compliquées qui seront analysées grâce à un évaluateur d'expression. Il est possible de définir des expressions à valeur complexe puisque la constante symbolique i telle que i*i=-1 est présente.

Avant de tracer ( menu Courbe->tracer ) une courbe il est nécessaire de définir le système dans lequel celle-ci va être tracée.

1) Le menu système

    Le menu système se divise en deux parties. On peut définir des graphes dans le plan ou dans l'espace. Le plan possède deux dimensions, tous les graphes dans le plan seront tracés en laissant varier une variable. L'espace possède trois dimensions, tous les graphes dans l'espace seront tracés en laissant varier deux variables.
Définir un système consiste à choisir si le graphe nécessite de faire varier une ou deux variables dans ce cas on choisira soit le plan soit l'espace. Il faut aussi avoir une idée de quelles vont être les bornes de variation entre lesquelles la ou les variables pourront évoluer ainsi que des limites dans lesquelles le graphe est contenu.

1.1) Dans le plan

    Les limites dans lesquelles la variable se situe sont définies conjointement à la définition du système, au moment du tracé ( menu Courbe->tracer ). Cela dépend du système choisi. Les axes sont orthogonaux de plus le système peut être orthonormé en choisissant l'option "NORMER" ( de la fenêtre proposée après Système->Cartésien ou Système->Polaire ).

1.1.1) Cartésien

    Le plan cartésien est défini par ses limites en abscisse ( x ) et en ordonnee ( y ). Les limites du plan peuvent être arbitrairement élevée. Il faut toutefois se borner a un choix qui est décidé par les critères suivants :

1.1.1.1) Cartésien - Analytique

    Le graphe a une forme analytique y=f(x). Les limites proposées en abscisse ( x ) vont donc déterminer l'intervalle de variation de la fonction f. De la même façon les limites en ordonnée ( y ) ne seront bien choisies, que si elles correspondent à un intervalle significatif pour les variations de la fonction y=f(x). Par exemple,

y=sin(x) ; un intervalle intéressant pour observer y est l'intervalle suivant :

        en abscisse : ( variation de x la variable )
        0 2*PI__________________________________
        en ordonnee : ( variation de y la fonction de x )
        -1 1____________________________________
On peut en effet remarquer que la fonction y=sin(x) ne prend des valeurs que dans l'intervalle [-1,1] et que sa période est 2*PI.

    Il est aussi possible en mode Cartésien - Analytique de dériver ou intégrer numériquement une expression y=f(x). Il faut alors au moment de tracer la fonction revenir dans le menu système->Cartésien->flèche en ayant décidé laquelle des 3 courbes de A à C sera f(x) et placer la dérivée f'(x) ou l'intégrale F(x) dans les 3 courbes de D a F. On peut pour l'intégrale ajouter une constante à celle-ci qui corresponde par exemple à F(INF(x)) ou à 0. Pour cela on peut donner une expression compliquée de la forme g(x) ou x représente la limite inférieure INF(x) donnée en abscisse dans le menu système. Par exemple pour f(x)=sin(x) que l'on désire intégrer, la constante à ajouter a l'intégrale pourra être F(INF(x))=-cos(x). Dans le cas général ou on ne connaît pas l'expression formelle de F(x), on choisira une constante nulle. De cette manière l'intégrale calculée sera la suivante:

        Integrale = F(SUP(x))-F(INF(x))
Remarque : Pour calculer la moyenne de f(x) sur l'intervalle en x choisi, il suffit de diviser l'intégrale calculée par la quantité SUP(x)-INF(x).

1.1.1.2) Cartésien - Paramètrée

Le graphe a une forme Paramètrée :

        { x = X(t)
        { y = Y(t)
    La variable dans ce cas présent est t le paramètre. Les limites demandées en abscisse et en ordonnées dépendent donc des variations des fonctions X(t) et Y(t). Les variations de la variable t ne seront demandées qu'une fois que le système d'équation sera défini ( dans le menu Courbe->Tracer ). Par exemple la fonction Paramètrée suivante :
        { x=cos(t)
        { y=sin(t)
pourra être tracée dans le domaine suivant:
        en abscisse : ( variations de X(t) )
        -2 2____________________________________
        en ordonnee : ( variations de Y(t) )
        -1 1____________________________________
dans un système d'axes othonormés ( option Système->Cartésien bouton "NORMER" ), pour des variations :
        Variation de t :
        0 2*PI__________________________________
tracera un cercle de centre (x=0,y=0) et de rayon r=1.

1.1.2) Polaire

    Le système de coordonnées polaires est défini en abscisse ( x ) et en ordonnee ( y ) par la définition d'un angle t par rapport au segment (Ox) O étant l'origine (0,0) et x représentant l'axe des x, et d'une distance r du point (x,y) par rapport à l'origine. On définit les coordonnée polaires par le système suivant :

        { x = r*cos(t)                          { r=sqrt(x^2+y^2)
        { y = r*sin(t)          <=>             { t=atg(y/x)
    Dans ce système de coordonnées la seule variable pour le tracé est t. Les limites du plan peuvent être arbitrairement élevée. Il faut toutefois se borner à un choix qui est décidé par les critères suivants :

1.1.2.1) Polaire - Analytique

    Le graphe est déterminé par la fonction r=R(t). Pour apprécier les limites en abscisse ( x ) et en ordonnée ( y ), il faut préalablement connaître quel sera le domaine de variation de R(t) en fonction du domaine de variation de t. Par exemple pour la spirale d'Archimède définie par :

        R(t)=t
et pour
        variation de t :
        0 4*PI__________________________________
on peut prendre l'intervalle de variation suivant :
        en abscisse :
        -24 24__________________________________
        en ordonnee :
        -12 12__________________________________
en choisissant de normer le système d'axes.

1.1.2.2) Polaire - Paramètrée

Le graphe est déterminé par le système d'équations paramètrée :

        { r = RO(t)
        { t = THETA(t)
    Pour apprécier les limites en abscisse ( x ) et en ordonnee ( y ), il faut préalablement connaître quel seront les domaines de variation de RO(t) et THETA(t) en fonction du domaine de variation de t. Par exemple la fonction paramètrée suivante trace le signe infini :
        { RO(t)    = cos(t)
        { THETA(t) = sin(t)
et pour
        variation de t :
        0 2*PI__________________________________
on peut prendre l'intervalle de variation suivant :
        en abscisse :
        -2 2____________________________________
        en ordonnee :
        -1 1____________________________________
en choisissant de normer le système d'axes.

    Il faut remarquer que les coordonnées polaires - analytiques ne sont autre que des coordonnées polaires - paramètrées en posant THETA(t)=t.

1.1.3) Image 2D

    Le système de coordonnées Images 2D permet de tracer une surface c=P(x,y). c est un niveau dans le système de couleurs de l'ordinateur et x & y sont les axes horizontaux et verticaux respectivement. c varie donc entre 0 et le nombre de couleur affichables par l'ordinateur. Si c ne se trouve pas dans l'intervalle, il est réduit modulo le nombre de couleurs affichables.

1.2) Dans l'espace

    Dans les systèmes de coordonnées dans l'espace, il est possible de représenter une surface dépendant de deux variables. Les axes de coordonnées forment un repère direct tel que :

1.2.1) Espace Affine

    Les surfaces représentables sont de la forme Z=f(x,y). Il suffit de définir l'intervalle de variation des variables x et y, et les limites du tracé de Z.

Par exemple le trace d'un sinus cardinal peut être fait en définissant :
        en abscisse :
        -10 10__________________________________
        en ordonnee :
        -10 10__________________________________
        en cote :
        -1 1____________________________________
La surface A sera obtenue en donnant la fonction
        Z(x,y)=
        sin(r)/r________________________________
dans ce cas r=sqrt(x^2+y^2). De même on peut utiliser la variable t telle que : t=atg(y/x).

1.2.2) Coordonnées cylindriques

    Dans ce système de coordonnées il est possible de représenter des surfaces s=F(r,t,z). Les coordonnées sont définies par :

    Pour tracer une courbe on choisi l'intervalle de variation de r t et z, sachant que l'un des trois restera constant (une surface dépend de deux variables). On donnera ensuite les limites de l'espace. Pour tracer un cylindre on pourra définir r constant et
        theta :
        0 2*PI__________________________________
        z :
        -1 1____________________________________
Les limites de l'espace seront alors :
        en abscisse :
        -2 2____________________________________
        en ordonnee :
        -2 2____________________________________
        en cote :
        -2 2____________________________________
La surface cylindrique sera obtenue en donnant la fonction
        Fr(r,t,z)=
        1_______________________________________
        Ft(r,t,z)=
        t_______________________________________
        Fz(r,t,z)=
        z_______________________________________
1.2.3) Coordonnées sphériques

    Dans ce système de coordonnées il est possible de représenter des surfaces s=F(r,t,p). Les coordonnées sont définies par :

avec :
                { x=r*cos(p)*cos(t)
                { y=r*cos(p)*sin(t)
                { z=r*sin(p)
    Pour tracer une courbe on choisit l'intervalle de variation de r t et p, sachant que l'un des trois restera constant (une surface dépend de deux variables). On donnera ensuite les limites de l'espace. Pour tracer une sphère on pourra définir r constant et
        theta :
        0 PI____________________________________
        phi :
        0 2*PI__________________________________
Les limites de l'espace seront alors :
        en abscisse :
        -2 2____________________________________
        en ordonnee :
        -2 2____________________________________
        en cote :
        -2 2____________________________________
La surface sphérique sera obtenue en donnant la fonction
        Fr(r,t,p)=
        1.5_____________________________________
        Ft(r,t,p)=
        t_______________________________________
        Fp(r,t,p)=
        p_______________________________________
1.2.4) Paramètrées 3D

    Il existe deux systèmes de coordonnées paramètrées. Dans les deux cas deux paramètres varient. Ils peuvent être soit x et y ; c'est le système rectangulaire, soit r et t (ou u) ; c'est le système polaire.

1.2.4.1) rectangulaire

Dans ce cas :

        { r=sqrt(x^2+y^2)
        { t=atg(y/x)
la surface à tracer est une fonction de x y r et t. Pour un tore on définira les intervalles de variation des variables:
        x :
        0 2*PI____________________________________
        y :
        0 2*PI__________________________________
Les limites de l'espace seront alors :
        en abscisse :
        -5 5____________________________________
        en ordonnee :
        -5 5____________________________________
        en cote :
        -5 5____________________________________
La surface torique sera obtenue en donnant la fonction
        X(x,y,r,t)=
        (3+cos(x))*cos(y)_______________________
        Y(x,y,r,t)=
        (3+cos(x))*sin(y)_______________________
        Z(x,y,r,t)=
        sin(x)__________________________________
1.2.4.1) polaire

Dans ce cas :

        { x=r*cos(t)
        { y=r*sin(t)
la surface à tracer est une fonction de x y r et t. Pour un disque on définira les intervalles de variation des variables avec u constant :
        r :
        0 1_____________________________________
        theta :
        0 2*PI__________________________________
Les limites de l'espace seront alors :
        en abscisse :
        -2 2____________________________________
        en ordonnee :
        -2 2____________________________________
        en cote :
        -2 2____________________________________
Le disque sera obtenue en donnant la fonction
        X(x,y,r,t)=
        r*cos(t)________________________________
        Y(x,y,r,t)=
        r*sin(t)________________________________
        Z(x,y,r,t)=
        0_______________________________________

    Ce programme est un free-shareware-ware. C'est à dire que tout auteur de shareware utilisant ce programme, s'engage à m'envoyer celui-ci en me faisant grâce de sa contribution. J'espère ainsi d'une part avoir une bibliothèque de logiciels intéressants, et d'autre part, tenir compte du développement de chacun pour rendre mes productions interfacables avec les vôtres. Les auteurs de freewares sont aussi vivement encourages à me faire parvenir leurs productions. Pour les personnes qui ne sont pas développeurs, vous pouvez m'aider dans mes efforts en m'envoyant 100 FF.

    Il est strictement interdit de modifier ce programme ou d'en utiliser des parties sans mon autorisation.

    Vous n'avez pas le droit d'enlever des fichiers de l'archive. Vous devez la transmettre Intégralement et Gratuitement. Certains organismes auront le droit de demander des frais de copie et uniquement de copie, du moment qu'aucun bénéfice n'est fait sur mon dos...

    J'autorise les magazines à mettre ce programme sur leur disquette à condition qu'ils m'envoient gratuitement le numéro correspondant, ce qui n'est pas trop demander je pense.

Note : Je ne pense pas distribuer une version avec coprocesseur dans les conditions actuelles, pour ce programme. Une version plus performante sera peut être un jour l'objet d'une version commerciale. Merci pour votre compréhension ...

        Mes coordonnees sur la planete sont :
        
        WEB:            http://www.ief.u-psud.fr/~lecoat
        E-mail:         lecoat@ief.u-psud.fr
        postales:       Mr LE COAT Francois
                        9 Clos de Bures
                        Rue de Gometz
                        91440 Bures-sur-Yvette
                        FRANCE
        Telephone:      Ca n'existe pas chez moi !
    Merci à Karl SAMYN pour son aide précieuse, à David ROUSSEL qui est bien le premier à me dire que je suis têtu, ainsi qu'à Thierry ROCHEBOIS pour avoir supporté un certain nombre de beta versions. Je tiens aussi à remercier Olivier LANDEMARRE de son aide pour la compatibilité avec MAGIC MAC. Merci aussi à Emmanuel BARANGER pour nous livrer un aussi beau modeleur universel. Vous êtes vivement encouragés à obtenir des rendus plus élaborés que ceux d'Eurêka, grâce au superbe EB_MODEL et l'import de surfaces que celui-ci permet. Je veux aussi remercier Loic SEBALD pour nous avoir conçu une carte son aussi sympatique pour HADES.