Scilab Function
Last update : 9/2/2006

fec - dessin en pseudo-couleurs d'une surface définie sur une triangulation

### Calling Sequence

  `fec(x,y,triangles,func,[strf,leg,rect,nax,zminmax,colminmax])`

### Parameters

- `x,y`: deux vecteurs de taille `n`, `(x(i),y(i))` donne les coordonnées du sommet `i`
- `func`: un vecteur de taille `n` : `func(i)` donne la valeur de la fonction à représenter
- `triangles`: une matrice `[Ntr,5]`. Chaque ligne de `triangles` représente un triangle du maillage `triangle(j) = [number,node1,node2,node3,flag]`. `node1,node2,node3` sont les numéros des sommets qui constituent le triangle j. number est le numéro du triangle et flag est un entier qui n'est pas utilisé par fec.
- `strf,leg,rect,nax`: voir plot2d
- `zminmax`: parfait pour faire des animations avec fec. zminmax est un vecteur de taille 2 [zmin zmax] qui donne les z associés à la première et la dernière couleur (de la table des couleurs courante). Plus exactement si la table des couleurs a nc couleurs et si on note dz = (zmax-zmin)/nc, alors la partie de la triangulation où zmin + (i-1)dz <= z < zmin + i dz est remplie avec la couleur i). Par défaut zmin = min(func) et zmax = max(func). Si vous voulez faire une animation avec des valeurs de func changeant en fonction du temps, prenez zmin et zmax égaux au minimum et maximum globaux. ATTENTION : pour les valeurs de func plus grandes que zmax la dernière couleur est utilisée, et pour les valeurs plus petites que zmin la première couleur est utilisée (on ne voit donc pas que les niveaux de zminmax sont franchis).
- `colminmax`: un vecteur de 2 entiers positifs colminmax=[colmin colmax] avec 1 <= colmin < colmax <= nc (où nc est la taille de la table des couleurs). Permet de définir un sous-ensemble de la table des couleurs à utiliser, ici cmap(colmin:colmax). Par défaut toute la table des couleurs est utilisée.

### Description

Voir les fonctions de démonstration dans le répertoire `demos/fec`.

`fec.ex1` est une simple démo dans laquelle le maillage et la fonction sont construits en langage Scilab.

`fec.ex2` est un exemple où le maillage est construit avec un mailleur externe (type amdba). Un ensemble de macros (`macros.sci`) peut être utilisé pour lire les fichiers de données correspondants.

### Examples

    // define a mini triangulation (4 vertices, 2 triangles)
    x = [0 1 0 -1];
    y = [0 0 1  1];
    T = [1 1 2 3 1;
         2 3 4 1 1];
    z = [0 1 0 -1];  // values of the func at each vertices
    xbasc()
    xset("colormap",jetcolormap(64))
    subplot(1,2,1)
       colorbar(-1,1)
       fec(x,y,T,z,strf="040",mesh=%t)
       xtitle("fec example (with the mesh)")
    subplot(1,2,2)
       colorbar(-1,1)
       fec(x,y,T,z,strf="040")  // rmq: mesh=%f by default
       xtitle("fec example (without the mesh)")
    xselect()

    // this example shows the effect of zminmax and uses the
    // previous example datas (you have to execute the it before)
    xbasc()
    xset("colormap",jetcolormap(64))
    colorbar(-0.5,0.5)  // be careful colorbar must be set by hands !
    fec(x,y,T,z,strf="040", zminmax=[-0.5 0.5], mesh=%t)
    xtitle("fec example : using zminmax argument")
    xselect()

    // this example shows the effect of zminmax and colout. It uses
    // also the datas of the first example (you have to execute the it before)
    xbasc()
    xset("colormap",jetcolormap(64))
    subplot(2,2,1)
       colorbar(-0.5,0.5)
       fec(x,y,T,z,strf="040", zminmax=[-0.5 0.5], colout=[0 0], mesh=%t)
       xtitle("fec example : using zminmax and colout =[0 0]")
    subplot(2,2,2)
       colorbar(-0.5,0.5)
       fec(x,y,T,z,strf="040", zminmax=[-0.5 0.5], colout=[32 32], mesh=%t)
       xtitle("fec example : using zminmax and colout =[32 32]")
    subplot(2,2,3)
       colorbar(-0.5,0.5)
       fec(x,y,T,z,strf="040", zminmax=[-0.5 0.5], colout=[-1 0], mesh=%t)
       xtitle("fec example : using zminmax and colout =[-1 0]")
    subplot(2,2,4)
       colorbar(-0.5,0.5)
       fec(x,y,T,z,strf="040", zminmax=[-0.5 0.5], colout=[0 -1], mesh=%t)
       xtitle("fec example : using zminmax and colout =[0 -1]")
    xselect()

    // this example shows a feature from colminmax:
    // playing with 2 colormaps for 2 subplots. It
    // uses also the data of the first example.
    xbasc()
    xset("colormap",[hotcolormap(64);jetcolormap(64)])
    subplot(1,2,1)
       colorbar(-1,1,[1 64])
       fec(x,y,T,z,strf="040", colminmax=[1 64], mesh=%t)
       xtitle("fec using the hot colormap")
    subplot(1,2,2)
       colorbar(-1,1,[65 128])
       fec(x,y,T,z,strf="040", colminmax=[65 128], mesh=%t)
       xtitle("fec using the jet colormap")
    xselect()

### See Also

`Sfgrayplot`, `Sgrayplot`,