subtract
Diferença booleana de dois polyshapes: o primeiro com o segundo recortado.
Categoria: Mathematics > Computational Geometry
Sintaxe
P = subtract(P1, P2)
Retorna a parte de P1 que não está em P2.
Descrição
Se P2 está totalmente dentro de P1, o resultado é P1 com um furo. Se cruza uma borda, uma reentrância é removida. Se não se sobrepõem, P1 é retornado sem alteração. A ordem dos argumentos importa: subtract(P1, P2) e subtract(P2, P1) são formas diferentes.
As operações companheiras são union, intersect e xor.
Argumentos de entrada
P1- O
polyshapedo qual se recorta. P2- O
polyshapea remover.
Argumentos de saída
P- A diferença, como novo
polyshape. Pode ter furos ou várias regiões.
Exemplo
Fazendo um furo
P = polyshape([0 4 4 0], [0 0 3 3]);
H = polyshape([1 2 2 1], [1 1 2 2]);
D = subtract(P, H);
D.NumHoles
area(D)
Saída
ans = 1
ans = 11