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
triangulationoudelaunayTriangulation(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