xfpolys preenche um conjunto de polígonos

## Seqüência de Chamamento

    xfpolys(xpols,ypols,[fill])

## Parâmetros

xpols,ypols

  matrizes de mesmo tamanho (p,n) (pontos dos polígonos).

fill

  vetor de tamanho n ou tamanho (p,n)

## Descrição

`xfpolys` preenche um conjunto de polígonos de mesmo tamanho definidos pelas matrizes `xpols` e `ypols`. As coordenadas de cada polígono são armazenadas em uma coluna de `xpols` e `ypols`.

Os polígonos podem ser preenchidos por uma dada cor (preenchimento monótono) ou pintados com cores interpoladas (preenchimento por graduação).

preenchimento monótono

  Neste caso, `fill` deve ser um vetor de tamanho `n`. O padrão para preenchimento de um polígono de número i é dado por `fill(i)`:

  - se `fill(i)<0`, o polígono é preenchido com padrão de identificador `-fill(i)`.

  - se `fill(i)=0`, o polígono é desenhado no estilo de traço (ou cor) corrente e não é preenchido.

  - se `fill(i)>0`, o polígono é preenchido com padrão de identificador `fill(i)`. Então seu contorno é desenhado com o estilo de traço (ou cor) corrente e fechado, se necessário.

preenchimento interpolado

  Neste caso, `fill` deve ser uma matriz com o mesmo mesmo tamanho de `xpols` e `ypols`. Note que `p` deve ser igual a 3 ou 4.

  `fill(k,i)` fornece a cor da `k` -ésima borda do polígono `i`.

## Exemplos

    a=gca();
    a.data_bounds=[0,-10;210,40];
    a.foreground=color('red');
    x1=[0,10,20,30,20,10,0]';
    y1=[15,30,30,15,0,0,15]';
    xpols=[x1 x1 x1 x1];
    xpols=xpols+[0,60,120,180].*.ones(x1);
    ypols=[y1 y1 y1 y1];
    xfpolys(xpols,ypols,[-1,0,1,2])

a=gca(); a.data_bounds=[0,-10;210,40]; a.foreground=color('red'); x1=[0,10,20,30,20,10,0]'; y1=[15,30,30,15,0,0,15]'; xpols=[x1 x1 x1 x1]; xpols=xpols+[0,60,120,180].*.ones(x1); ypols=[y1 y1 y1 y1]; xfpolys(xpols,ypols,[-1,0,1,2])

    // cores interpoladas
    clf()
    f=gcf();
    a=gca();
    a.data_bounds=[0,-10;40,30];
    isoview();
    x1=[0,10,20,10]';
    y1=[10,0,10,20]';
    c=linspace(2,100,4)';
    xpols=[x1 x1+20 x1+10 x1+10];
    ypols=[y1 y1    y1+10 y1-10];
    cols= [c c($:-1:1) c([3 4 1 2]) c]
    f.color_map=jet(max(cols));
    xfpolys(xpols,ypols,cols)

f=gcf(); a=gca(); a.data_bounds=[0,-10;40,30]; isoview(); x1=[0,10,20,10]'; y1=[10,0,10,20]'; c=linspace(2,100,4)'; xpols=[x1 x1+20 x1+10 x1+10]; ypols=[y1 y1 y1+10 y1-10]; cols= [c c($:-1:1) c([3 4 1 2]) c] f.color_map=jet(max(cols)); xfpolys(xpols,ypols,cols)

    // cores interpoladas
    clf()
    f=gcf();
    x11=[0;20;20;0];
    y11=[10;10;30;30];
    c11=[10;10;30;30];
    x12=x11;
    y12=y11+20;
    c12=[20;20;1;1];
    c12=[30;30;10;10];
    x21=[0;30;30;0]+22;
    y21=[20;20;30;30];
    c21=[20;20;30;30];
    x22=x21;
    y22=y21+10;
    c22=[30;30;20;20];
    x31=[0;40;40;0]+55;
    y31=[0;0;30;30];
    c31=[0;0;30;30];
    x32=x31;
    y32=y31+30;
    c32=[30;30;0;0];
    X=[x11 x12 x21 x22 x31 x32];
    Y=[y11 y12 y21 y22 y31 y32];
    C=([c11 c12 c21 c22 c31 c32]+1)*5;
    a=gca();
    isoview();
    a.data_bounds=[min(X),min(Y);max(X),max(Y)];
    f=gcf();
    f.color_map=gray(max(C));
    xfpolys(X,Y,C)

clf() f=gcf(); x11=[0;20;20;0]; y11=[10;10;30;30]; c11=[10;10;30;30]; x12=x11; y12=y11+20; c12=[20;20;1;1]; c12=[30;30;10;10]; x21=[0;30;30;0]+22; y21=[20;20;30;30]; c21=[20;20;30;30]; x22=x21; y22=y21+10; c22=[30;30;20;20]; x31=[0;40;40;0]+55; y31=[0;0;30;30]; c31=[0;0;30;30]; x32=x31; y32=y31+30; c32=[30;30;0;0]; X=[x11 x12 x21 x22 x31 x32]; Y=[y11 y12 y21 y22 y31 y32]; C=([c11 c12 c21 c22 c31 c32]+1)*5; a=gca(); isoview(); a.data_bounds=[min(X),min(Y);max(X),max(Y)]; f=gcf(); f.color_map=gray(max(C)); xfpolys(X,Y,C)

## Ver Também

- xfpoly
- xpoly
- xpolys