tsearchn

Encontra o simplex que contém cada ponto de consulta em uma triangulação n-D.

Categoria: Mathematics > Computational Geometry

Sintaxe

t = tsearchn(X, T, XI)

Retorna o índice do simplex (linha de T) que contém cada ponto de consulta.

[t, P] = tsearchn(X, T, XI)

Também retorna as coordenadas baricêntricas de cada ponto de consulta no seu simplex.

Descrição

Para cada ponto de consulta, tsearchn encontra o triângulo (ou tetraedro, em dimensões maiores) que o contém. As coordenadas baricêntricas são pesos dos vértices do simplex que somam 1 e reproduzem o ponto; todas são não negativas exatamente quando o ponto está dentro. São úteis para interpolar dados dos vértices em pontos arbitrários.

Diferente de tsearch, funciona em qualquer dimensão.

Argumentos de entrada

X
Matriz n por d com os vértices da triangulação.
T
Matriz de conectividade m por (d+1).
XI
Matriz p por d de pontos de consulta.

Argumentos de saída

t
Vetor coluna com os índices dos simplex. NaN marca um ponto fora da triangulação.
P
Coordenadas baricêntricas p por (d+1); as linhas são NaN para pontos fora.

Exemplo

Localizar pontos em dois triângulos

x = [0 1 0 1]';
y = [0 0 1 1]';
T = [1 2 3; 2 4 3];
[t, bc] = tsearchn([x y], T, [0.2 0.2; 0.8 0.8; 2 2])
Saída
t = 3×1

     1
     2
   NaN
bc = 3×3

    0.6000    0.2000    0.2000
    0.2000    0.6000    0.2000
       NaN       NaN       NaN

Veja também

pointLocation delaunay triangulation dsearchn