barycentricToCartesian

Converte coordenadas baricêntricas em triângulos ou tetraedros dados para coordenadas cartesianas.

Categoria: Mathematics > Computational Geometry

Sintaxe

C = barycentricToCartesian(TR, T, B)

Mapeia as linhas baricêntricas de B, cada uma relativa ao simplex listado em T, para pontos no espaço.

Descrição

Um ponto de coordenadas baricêntricas (b1, b2, b3) em um triângulo é a soma ponderada b1*P1 + b2*P2 + b3*P3 dos vértices do triângulo. Esta função faz essa soma ponderada para cada simplex pedido, usando os vértices armazenados na triangulação.

Pesos em [0, 1] dão pontos dentro do simplex; pesos negativos dão pontos fora dele. É a inversa de cartesianToBarycentric.

Argumentos de entrada

TR
Um objeto triangulation ou delaunayTriangulation (2-D, ou 3-D tetraédrico).
T
Vetor coluna de índices de simplexes (linhas) de TR.ConnectivityList.
B
Coordenadas baricêntricas, uma linha por entrada de T, com 3 colunas para triângulos e 4 para tetraedros. Cada linha deve somar 1.

Argumentos de saída

C
Coordenadas cartesianas, uma linha por linha de B.

Exemplo

Ponto dentro do primeiro triângulo

x = [0 1 1 0 0.5]';
y = [0 0 1 1 0.5]';
DT = delaunayTriangulation(x, y);
C = barycentricToCartesian(DT, 1, [0.2 0.3 0.5])
Saída
C = 1×2

    0.9000    0.6000

Veja também

cartesianToBarycentric pointLocation delaunayTriangulation triangulation