# xsegs

dessine des segments non connectés

## Séquence d'appel

                xsegs(xv,yv,[style])
                xsegs(xv,yv,zv,[style])

## Paramètres

xv,yv,zv

  matrices de la même taille. Si `zv` n'est pas spécifié, un vecteur de 0 est utilisé.

style

  vecteur ou scalaire. Si `style` est un scalaire positif, il donne la couleur pour tous les segments. Si `style` est négatif la couleur courante est utilisé. Si `style` est un vecteur, alors `style(i)` donne la couleur du segment `i`.

## Description

`xsegs` dessine un ensemble de segments déconnectés donnés par `xv`,`yv` et `zv`. Si `xv`, `yv` et `zv` sont des matrices elles sont considérées comme des vecteurs (par concaténation de leurs colonnes). Les coordonnées des deux points définissant un segment sont données par les valeurs consécutives des termes de `xv`, `yv` et `zv`:

`(xv(i),yv(i),zv(i))-->(xv(i+1),yv(i+1),zv(i+1))`.

Par exemple, en utilisant des matrices de taille (2,n) :

    xv=[xi_1 xi_2 ...; xf_1 xf_2 ...]
    yv=[yi_1 yi_2 ...; yf_1 yf_2 ...]
    zv=[zi_1 zi_2 ...; zf_1 zf_2 ...]

le segment numéro k est défini par : `(xi_k,yi_k,zi_k)-->(xf_k,yf_k,zf_k)`.

## Exemples

    x=2*%pi*(0:9)/10;
    xv=[sin(x);9*sin(x)];
    yv=[cos(x);9*cos(x)];
    plot2d([-10,10],[-10,10],[-1,-1],"022")
    xsegs(xv,yv,1:10)

x=2*%pi*(0:9)/10; xv=[sin(x);9*sin(x)]; yv=[cos(x);9*cos(x)]; plot2d([-10,10],[-10,10],[-1,-1],"022") xsegs(xv,yv,1:10)

    // 2D exemple
    plot2d([-10,10],[-10,10],[-1,-1],"022")
    xsegs([9, -9],[9 , -9]) // Dessine une ligne de X(9,9) à Y(-9, -9)
    xsegs([5, -2],[4 , -1]) // Dessine une ligne de X(5,4) à Y(-2, -1)

plot2d([-10,10],[-10,10],[-1,-1],"022") xsegs([9, -9],[9 , -9]) // Dessine une ligne de X(9,9) à Y(-9, -9) xsegs([5, -2],[4 , -1]) // Dessine une ligne de X(5,4) à Y(-2, -1)

    // 3D exemple
    clf();
    a=gca();
    a.view="3d";
    f=gcf();
    f.color_map=rainbowcolormap(120);
    alpha=2*%pi*(0:119)/40;
    xv=[sin(alpha)/2;sin(alpha)/3];
    yv=[cos(alpha)/2;cos(alpha)/3];
    zv=[alpha/8;alpha/8];
    xsegs(xv,yv,zv,1:120);
    // Now adjust the data_bounds
    a.data_bounds = [min(xv) min(yv) min(zv); ...
                     max(xv) max(yv) max(zv)];
    // We can add an arrow to each segs
    e = gce();
    e.arrow_size = 0.4;

a=gca(); a.view="3d"; f=gcf(); f.color_map=rainbowcolormap(120); alpha=2*%pi*(0:119)/40; xv=[sin(alpha)/2;sin(alpha)/3]; yv=[cos(alpha)/2;cos(alpha)/3]; zv=[alpha/8;alpha/8]; xsegs(xv,yv,zv,1:120); // Now adjust the data_bounds a.data_bounds = [min(xv) min(yv) min(zv); ... max(xv) max(yv) max(zv)]; // We can add an arrow to each segs e = gce(); e.arrow_size = 0.4;