pointLocation

Encontra o triângulo ou tetraedro de uma triangulação que contém cada ponto de consulta.

Categoria: Mathematics > Computational Geometry

Sintaxe

ti = pointLocation(TR, P)

Índice do simplex que contém cada linha de P.

[ti, bc] = pointLocation(TR, P)

Também retorna as coordenadas baricêntricas dos pontos nesses simplexes.

Descrição

É uma busca de ponto em triângulo sobre toda a malha. Um ponto sobre uma aresta compartilhada pertence a mais de um triângulo e um deles é retornado. A saída baricêntrica é a base da interpolação linear: multiplique bc pelos valores guardados nos três vértices do triângulo ti para interpolar.

Argumentos de entrada

TR
Um objeto triangulation, delaunayTriangulation ou DelaunayTri.
P
Pontos de consulta, um por linha.

Argumentos de saída

ti
Vetor coluna de índices de simplexes. Um ponto fora da triangulação dá NaN.
bc
Matriz de coordenadas baricêntricas, uma linha por ponto.

Exemplo

Localizar um ponto dentro e fora

x = [0 1 1 0 0.5]';
y = [0 0 1 1 0.5]';
DT = delaunayTriangulation(x, y);
[ti, bc] = pointLocation(DT, [0.9 0.5; 5 5])
Saída
ti = 2×1

     1
   NaN
bc = 2×3

    0.2000    0.4000    0.4000
       NaN       NaN       NaN

Veja também

nearestNeighbor cartesianToBarycentric delaunayTriangulation inpolygon