alphaShape

Cria uma região que envolve um conjunto de pontos 2-D ou 3-D, controlada por um raio alpha.

Categoria: Mathematics > Computational Geometry

Sintaxe

shp = alphaShape(x, y)

Cria uma alpha shape 2-D a partir de vetores coluna de coordenadas, usando o alpha padrão.

shp = alphaShape(x, y, z)

Cria uma alpha shape 3-D.

shp = alphaShape(P)

Recebe os pontos como linhas da matriz P (duas ou três colunas).

shp = alphaShape(___, alpha)

Define o raio alpha explicitamente.

Descrição

Uma alpha shape generaliza o fecho convexo. Imagina-se um disco (ou esfera) de raio alpha rolando em volta do conjunto de pontos, e a forma é o que os pontos delimitam sem que o disco passe pelos vãos. Com alpha grande, o resultado é o fecho convexo; diminuir alpha permite que o contorno entre nas partes côncavas e até se divida em várias regiões.

O objeto pode ser consultado com funções como area, perimeter, inShape, numRegions, criticalAlpha e boundaryFacets. A propriedade Alpha pode ser reatribuída para mudar a forma depois.

Argumentos de entrada

x, y, z
Coordenadas dos pontos, como vetores coluna de mesmo comprimento.
P
Matriz com um ponto por linha.
alpha
Raio escalar não negativo. Valores pequenos dão uma forma justa, possivelmente fragmentada; valores muito grandes dão o fecho convexo.

Argumentos de saída

shp
Um objeto alphaShape com as propriedades Points, Alpha, HoleThreshold e RegionThreshold.

Exemplo

Alpha shape de um quadrado com ponto central

x = [0 1 1 0 0.5]';
y = [0 0 1 1 0.5]';
shp = alphaShape(x, y, 1);
disp(area(shp))
disp(perimeter(shp))
disp(numRegions(shp))
Saída
     1
     4
     1

Veja também

boundary convhull criticalAlpha inShape delaunayTriangulation