rmslivers
Remove partes finas de um polyshape mais estreitas que uma largura dada.
Categoria: Mathematics > Computational Geometry
Sintaxe
pshape = rmslivers(pshape, tol)
Elimina partes da forma que são mais finas que cerca de tol.
Descrição
Fragmentos finos aparecem como artefatos de operações booleanas ou de buffer: espinhos muito finos, ou faixas que ligam duas peças. rmslivers os remove deixando o corpo principal quase inalterado. Um tol maior remove características mais grossas, então escolha-o pequeno em relação às características que importam.
Argumentos de entrada
pshape- Um objeto
polyshape. tol- Limite de largura não negativo, em unidades de coordenadas.
Argumentos de saída
pshape- O polyshape limpo. Fragmentos finos que somem podem reduzir
NumRegions.
Exemplo
Eliminando uma faixa fina
A = polyshape([0 2 2 0], [0 0 2 2]);
B = addboundary(A, [5 5.02 5.02 5], [0 0 2 2]);
C = rmslivers(B, 0.05);
[area(B) area(C)]
C.NumRegions
Saída
ans = 1×2
4.0400 4.0000
ans = 1