reducepatch

Reduz o número de faces de um patch procurando manter sua forma.

Categoria: Graphics > 2-D and 3-D Plots

Sintaxe

fv = reducepatch(fv0, r)

Retorna uma estrutura de patch com cerca da fração r das faces de fv0.

reducepatch(p, r)

Reduz no próprio objeto o patch de handle p.

[f, v] = reducepatch(F, V, r)

Opera com arrays de faces e de vértices separados.

Descrição

Isosuperfícies grandes podem ter centenas de milhares de triângulos e ser lentas para desenhar. reducepatch os funde, sobretudo em regiões planas, de modo que a imagem fica quase igual com bem menos faces. O resultado é uma aproximação: o número de faces obtido pode diferir um pouco do pedido.

Argumentos de entrada

fv0
Estrutura com faces e vertices, como a saída de isosurface.
r
Fração desejada de faces se estiver entre 0 e 1, ou número desejado de faces se for maior que 1.

Argumentos de saída

fv
Estrutura com faces e vertices reduzidos.

Exemplo

Reduzir uma isosuperfície pela metade

[x, y, z] = meshgrid(-1:0.25:1);
v = x.^2 + y.^2 + z.^2;
fv = isosurface(x, y, z, v, 0.5);
r = reducepatch(fv, 0.5);
size(r.faces, 1) < size(fv.faces, 1)
Saída
ans = logical
   1

Veja também

isosurface reducevolume patch isocaps