polyshape
Cria um polígono 2-D, possivelmente com várias regiões e furos, que aceita consultas geométricas e operações booleanas.
Categoria: Mathematics > Computational Geometry
Sintaxe
pshape = polyshape(x, y)
Polígono a partir de vetores de coordenadas dos vértices. NaN separa vários contornos.
pshape = polyshape(P)
Vértices como linhas de uma matriz de duas colunas.
pshape = polyshape(___, 'Simplify', tf)
Desliga o reparo automático da entrada quando tf é false.
pshape = polyshape()
Um polyshape vazio.
Descrição
Um polyshape representa uma região plana delimitada por polígonos. Um contorno dentro de outro vira furo, e contornos que não se tocam viram regiões separadas. A geometria está disponível por funções como area, perimeter, centroid, isinterior, holes, regions, rotate, scale e translate, e pelas operações booleanas union, intersect, subtract e xor.
Quando a entrada tem defeitos, como um contorno em gravata-borboleta que se cruza, o construtor o repara e o divide em partes válidas. Uma entrada degenerada, como três pontos colineares, dá um polyshape vazio com NumRegions igual a 0.
Argumentos de entrada
x, y- Vetores de mesmo comprimento com as coordenadas dos vértices, em ordem ao redor do contorno.
'Simplify'- Lógico. Por padrão (
true), o construtor corrige autointerseções, vértices duplicados e orientação, e emite um aviso se precisar.
Argumentos de saída
pshape- Um
polyshapecom as propriedades somente leituraVertices(a lista de vértices, contornos separados por linhasNaN),NumRegionseNumHoles.
Exemplo
Duas regiões em um polyshape
P = polyshape([0 1 1 0 NaN 3 5 5 3], [0 0 1 1 NaN 0 0 2 2]);
P.NumRegions
area(P)
centroid(P)
ans = 2
ans = 5
ans = 1×2
3.3000 0.9000