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
facesevertices, como a saída deisosurface. 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
faceseverticesreduzidos.
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