Calculadora de Coordenadas Baricêntricas

Informe as coordenadas de um triângulo e de um ponto para calcular pesos baricêntricos, verificar a posição do ponto e interpolar valores.

Os resultados são calculados automaticamente enquanto você informa os dados.

Coordenadas baricêntricas

Valores para interpolação

Arraste A, B, C ou P no diagrama ou edite os campos numéricos diretamente.

Fórmula e interpretação das áreas

▼ Veja explicações e dicas abaixo ▼

O que são coordenadas baricêntricas?

As coordenadas baricêntricas descrevem a posição de um ponto usando os vértices de um triângulo como referência. Em vez de dizer que um ponto tem apenas uma coordenada \(x\) e uma coordenada \(y\), as coordenadas baricêntricas indicam quanto de cada vértice \(A\), \(B\) e \(C\) é necessário para formar o ponto.

Para um triângulo com vértices \(A\), \(B\) e \(C\), um ponto \(P\) tem coordenadas baricêntricas \(\lambda_A\), \(\lambda_B\) e \(\lambda_C\) quando

$$ P = \lambda_A A + \lambda_B B + \lambda_C C $$

e

$$ \lambda_A + \lambda_B + \lambda_C = 1. $$

Os três valores costumam ser chamados de pesos. Se os três pesos estiverem entre \(0\) e \(1\), o ponto estará dentro do triângulo ou em sua fronteira. Se algum peso for negativo ou maior que \(1\), o ponto estará fora do triângulo. Por isso, as coordenadas baricêntricas são úteis tanto como sistema de coordenadas quanto como teste para verificar se um ponto está dentro do triângulo.

As coordenadas baricêntricas são especialmente úteis porque os mesmos pesos podem localizar o ponto, classificá-lo e interpolar valores ao longo do triângulo. Por exemplo, se cada vértice tiver uma temperatura, altura, intensidade de cor ou outro valor escalar, os pesos baricêntricos fornecem uma estimativa linear do valor em \(P\).


Por que as coordenadas baricêntricas são importantes

As coordenadas baricêntricas transformam muitos problemas sobre triângulos em problemas de pesos. Depois que os três pesos são conhecidos, você pode responder a perguntas como:

  • O ponto está dentro do triângulo, em uma aresta, em um vértice ou fora dele?
  • Quão próximo o ponto está de cada lado do triângulo?
  • Que valor deve ser atribuído ao ponto se os valores nos vértices forem conhecidos?
  • Um raio, a posição de um cursor, um ponto de amostra ou um ponto da malha está dentro de uma região triangular?

É por isso que as coordenadas baricêntricas aparecem em geometria analítica, computação gráfica, detecção de colisões, métodos de elementos finitos, processamento de malhas e interpolação. Em computação gráfica, a mesma ideia pode ser usada para interpolar cor, profundidade, coordenadas de textura ou normais sobre um triângulo. Em métodos numéricos, as coordenadas baricêntricas estão relacionadas às funções de forma lineares de elementos triangulares.


Termos importantes

  • Vértice: um dos pontos de canto do triângulo. Nesta calculadora, os vértices são \(A\), \(B\) e \(C\).
  • Ponto \(P\): o ponto que está sendo localizado ou classificado em relação ao triângulo \(ABC\).
  • Peso baricêntrico: um dos três valores \(\lambda_A\), \(\lambda_B\) e \(\lambda_C\). Cada peso pertence a um vértice.
  • Área orientada: área do triângulo com um sinal determinado pela orientação. Inverter a ordem dos vértices muda o sinal.
  • Área dobrada: o dobro da área orientada de um triângulo. Ela evita uma divisão desnecessária por \(2\) ao calcular razões.
  • Combinação afim: uma combinação ponderada cujos pesos somam \(1\).
  • Combinação convexa: uma combinação afim cujos pesos são todos não negativos. Pontos dentro ou na fronteira de um triângulo são combinações convexas dos vértices do triângulo.
  • Interpolação linear: estimativa de um valor entre valores conhecidos nos vértices por meio de uma média ponderada.
  • Extrapolação: aplicação da mesma fórmula ponderada fora do triângulo, onde um ou mais pesos podem ficar fora do intervalo de \(0\) a \(1\).

Como funcionam as coordenadas baricêntricas

Para coordenadas 2D, a área dobrada orientada de um triângulo com pontos \(X=(x_X,y_X)\), \(Y=(x_Y,y_Y)\) e \(Z=(x_Z,y_Z)\) pode ser escrita como

$$ D(X,Y,Z) = (x_Y-x_X)(y_Z-y_X) - (y_Y-y_X)(x_Z-x_X). $$

A área comum, sem orientação, do triângulo \(XYZ\) é

$$ \text{Area}(XYZ)=\frac{|D(X,Y,Z)|}{2}. $$

As coordenadas baricêntricas podem ser calculadas como razões entre áreas orientadas. Para o triângulo \(ABC\) e o ponto \(P\), o denominador é a área dobrada orientada do triângulo completo:

$$ D(A,B,C). $$

Os três pesos são então

$$ \lambda_A = \frac{D(P,B,C)}{D(A,B,C)}, $$
$$ \lambda_B = \frac{D(P,C,A)}{D(A,B,C)}, $$
$$ \lambda_C = \frac{D(P,A,B)}{D(A,B,C)}. $$

Cada numerador é a área dobrada orientada do subtriângulo oposto a esse vértice. Por exemplo, \(\lambda_A\) usa o triângulo \(PBC\), que fica oposto ao vértice \(A\).

Essas razões funcionam porque ligar \(P\) aos três vértices divide o triângulo de referência em três subtriângulos opostos. Quando \(P\) está dentro do triângulo, essas subáreas são todas positivas, depois que a orientação é tratada de modo consistente, e as três razões entre áreas somam \(1\). Quando \(P\) se move para fora do triângulo, uma ou mais subáreas orientadas se tornam negativas, mas as mesmas fórmulas ainda produzem coordenadas baricêntricas significativas.

Os pesos classificam o ponto:

Padrão dos pesos Significado
\(0 < \lambda_A, \lambda_B, \lambda_C < 1\) \(P\) está estritamente dentro do triângulo.
Um peso é \(0\), e os outros estão entre \(0\) e \(1\) \(P\) está na aresta oposta ao vértice cujo peso é zero.
Um peso é \(1\), e os outros dois são \(0\) \(P\) está em um vértice.
Qualquer peso é negativo ou maior que \(1\) \(P\) está fora do triângulo.

Depois que os pesos são conhecidos, a interpolação escalar é direta. Se os valores nos vértices forem \(V_A\), \(V_B\) e \(V_C\), o valor interpolado em \(P\) será

$$ V_P = \lambda_A V_A + \lambda_B V_B + \lambda_C V_C. $$

Dentro do triângulo, essa é uma média ponderada dos valores dos vértices. Fora do triângulo, a mesma fórmula se torna uma extrapolação.


Exemplos de coordenadas baricêntricas na prática

Exemplo 1: ponto dentro de um triângulo

Suponha que os vértices do triângulo sejam

$$ A=(0,0), \quad B=(5,0), \quad C=(1,4) $$

e que o ponto seja

$$ P=(2,1.2). $$

A área dobrada orientada do triângulo completo é

$$ D(A,B,C)=(5-0)(4-0)-(0-0)(1-0)=20. $$

Portanto, a área do triângulo é

$$ \frac{|20|}{2}=10. $$

Agora calcule as áreas dobradas orientadas opostas:

$$ D(P,B,C)=7.2, $$
$$ D(P,C,A)=6.8, $$
$$ D(P,A,B)=6. $$

Portanto, os pesos baricêntricos são

$$ \lambda_A=\frac{7.2}{20}=0.36, $$
$$ \lambda_B=\frac{6.8}{20}=0.34, $$
$$ \lambda_C=\frac{6}{20}=0.30. $$

Eles somam \(1\):

$$ 0.36+0.34+0.30=1. $$

Os três pesos estão entre \(0\) e \(1\), portanto \(P\) está dentro do triângulo.

Você também pode verificar se os pesos reconstroem o ponto:

$$ 0.36(0,0)+0.34(5,0)+0.30(1,4)=(2,1.2). $$

Se os valores dos vértices forem \(V_A=10\), \(V_B=20\) e \(V_C=35\), o valor interpolado será

$$ V_P=0.36(10)+0.34(20)+0.30(35)=20.9. $$

Exemplo 2: ponto em uma aresta

Use o mesmo triângulo, mas considere

$$ P=(2,0). $$

Esse ponto está na aresta \(AB\). Os pesos são

$$ \lambda_A=0.60, \quad \lambda_B=0.40, \quad \lambda_C=0. $$

O valor zero de \(\lambda_C\) significa que o ponto está na aresta oposta ao vértice \(C\), que é a aresta \(AB\). Os outros dois pesos mostram que o ponto é \(60\%\) influenciado por \(A\) e \(40\%\) influenciado por \(B\) ao longo dessa aresta.

Com valores nos vértices iguais a \(10\), \(20\) e \(35\), o valor interpolado será

$$ V_P=0.60(10)+0.40(20)+0(35)=14. $$

Exemplo 3: ponto fora de um triângulo

Novamente, use o mesmo triângulo, mas considere

$$ P=(6,1). $$

Os pesos são

$$ \lambda_A=-0.40, \quad \lambda_B=1.15, \quad \lambda_C=0.25. $$

Os pesos ainda somam \(1\):

$$ -0.40+1.15+0.25=1. $$

No entanto, \(\lambda_A\) é negativo e \(\lambda_B\) é maior que \(1\), portanto o ponto está fora do triângulo. Se os mesmos valores dos vértices forem usados, a fórmula fornece

$$ V_P=-0.40(10)+1.15(20)+0.25(35)=27.75. $$

Como \(P\) está fora do triângulo, esse valor é um resultado extrapolado, e não uma média ponderada de um ponto interno.


Como interpretar o resultado

Os três valores lambda são as coordenadas baricêntricas de \(P\) em relação ao triângulo \(ABC\). Eles são pesos adimensionais, portanto não usam unidades de coordenada. Desconsiderando pequenos erros de arredondamento numérico, eles devem somar \(1\).

Um peso próximo de \(0\) significa que \(P\) está próximo da aresta oposta a esse vértice. Por exemplo, se \(\lambda_A\) estiver próximo de \(0\), então \(P\) estará próximo da aresta \(BC\). Se \(\lambda_A=1\) e os outros dois pesos forem \(0\), o ponto estará no vértice \(A\).

O resultado da classificação resume o padrão dos pesos. “Dentro” significa que todos os pesos estão no intervalo aceito, de \(0\) a \(1\). “Fronteira” ou “aresta” significa que pelo menos um peso é efetivamente \(0\). “Vértice” significa que um peso é efetivamente \(1\) e os outros são efetivamente \(0\). “Fora” significa que pelo menos um peso está fora do intervalo aceito.

A área do triângulo é a área absoluta do triângulo \(ABC\), informada em unidades quadradas de coordenada. Se suas coordenadas estiverem em metros, a área será em metros quadrados. Se estiverem em unidades de desenho arbitrárias, a área será expressa em unidades de desenho ao quadrado.

As subáreas opostas orientadas mostram as contribuições de área orientada associadas a cada vértice. Elas ajudam a entender por que um peso é positivo, zero ou negativo. Subáreas orientadas negativas geralmente aparecem quando \(P\) está fora do triângulo.

Quando os três valores escalares são informados, o valor interpolado tem a mesma unidade escalar dos valores inseridos em \(A\), \(B\) e \(C\). Se os valores dos vértices representarem temperatura, o resultado será uma temperatura. Se representarem altura, o resultado será uma altura. Se \(P\) estiver fora do triângulo, trate o valor como extrapolado. Sem os três valores escalares, os resultados das coordenadas, da tabela e do gráfico continuam disponíveis.

Frações aproximadas ajudam na leitura. Elas são úteis quando um peso está próximo de uma fração simples, como \(\frac{1}{2}\) ou \(\frac{1}{3}\), mas não devem ser tratadas como resultados simbólicos exatos, a menos que se saiba que os valores subjacentes são exatos.


Erros comuns e equívocos

Um erro comum é usar três vértices colineares. Um triângulo precisa de vértices não colineares. Se \(A\), \(B\) e \(C\) estiverem em uma mesma linha reta, a área será \(0\) e as razões entre áreas baricêntricas não poderão ser calculadas.

Outro erro é misturar sistemas de coordenadas ou unidades. As coordenadas \(x\) e \(y\) dos pontos \(A\), \(B\), \(C\) e \(P\) devem pertencer todas ao mesmo sistema de coordenadas cartesianas 2D. Não misture pixels com metros, coordenadas de mapa com coordenadas de tela ou eixos com escalas diferentes, a menos que esse seja realmente o sistema de coordenadas que você pretende usar.

Às vezes, os usuários confundem as coordenadas do ponto com os valores escalares dos vértices. As coordenadas de \(P\) localizam o ponto no plano. Os valores \(V_A\), \(V_B\) e \(V_C\) são quantidades escalares separadas, usadas somente para a interpolação.

Pesos negativos não são inválidos por si só. Em geral, eles significam que o ponto está fora do triângulo. A calculadora ainda pode informar as coordenadas baricêntricas, e qualquer valor escalar interpolado com os três valores dos vértices deve ser entendido como extrapolação.

Arredondar cedo demais também pode causar confusão. Um ponto muito próximo de uma aresta pode ter um peso positivo ou negativo muito pequeno por causa da precisão de ponto flutuante. Para pontos próximos da fronteira, use a classificação e as mensagens de aviso junto com os pesos exibidos.

Por fim, não confunda frações aproximadas com aritmética racional exata. Uma fração exibida é apenas uma aproximação conveniente do peso decimal.


Quando usar coordenadas baricêntricas

Use coordenadas baricêntricas quando precisar:

  • Verificar se um ponto está dentro, na fronteira ou fora de um triângulo.
  • Converter um ponto 2D em pesos relativos aos três vértices de um triângulo.
  • Interpolar um valor escalar em uma região triangular.
  • Entender como as subáreas orientadas se relacionam à localização de um ponto.
  • Conferir cálculos baseados em triângulos em geometria, computação gráfica, malhas ou interpolação no estilo de elementos finitos.
  • Investigar casos-limite envolvendo pontos na fronteira de um triângulo ou logo fora dele.

As coordenadas baricêntricas são mais úteis quando a região é triangular e o valor que você quer estimar varia linearmente ao longo desse triângulo.


Limitações e pontos importantes

Esta calculadora trata de coordenadas baricêntricas de triângulos 2D. Ela não lida diretamente com coordenadas baricêntricas tetraédricas 3D, coordenadas baricêntricas generalizadas de polígonos ou vários canais de valores interpolados.

O triângulo não pode ser degenerado. Se os vértices forem colineares ou quase colineares na escala das coordenadas informadas, o denominador da área orientada será zero ou pequeno demais para um resultado estável.

Coordenadas muito grandes, triângulos muito estreitos ou pontos extremamente próximos de uma aresta podem tornar a classificação sensível à precisão numérica. Nesses casos, uma pequena alteração nas coordenadas pode mudar a indicação de que o ponto está na fronteira, logo dentro ou logo fora.

A calculadora usa aritmética de Number do JavaScript (ponto flutuante binário64 IEEE 754), portanto os valores exibidos são arredondados. Pesos, áreas, subáreas, frações e valores interpolados podem ser formatados com diferentes quantidades de casas decimais. Os três pesos devem somar \(1\), mas os valores arredondados exibidos podem não somar exatamente.

A fórmula de interpolação escalar é linear. Ela é apropriada quando se supõe que um valor varia linearmente ao longo do triângulo. Ela não modela superfícies curvas, comportamentos físicos não lineares, descontinuidades ou valores que exigem um método de interpolação mais especializado.

As coordenadas usam unidades consistentes arbitrárias. A calculadora não sabe se seus números representam metros, pixels, milímetros, unidades de mapa ou outra coisa. A interpretação depende do sistema de coordenadas fornecido.

Em trabalhos de engenharia, científicos, de computação gráfica ou de processamento de malhas nos quais pequenas diferenças numéricas importam, verifique os resultados críticos com a precisão e o método de validação exigidos pelo seu projeto.


Como usar esta calculadora

  1. Informe as coordenadas \(x\) e \(y\) dos vértices do triângulo \(A\), \(B\) e \(C\).
  2. Informe as coordenadas \(x\) e \(y\) do ponto \(P\) ou arraste \(P\) no gráfico depois do primeiro cálculo.
  3. Informe os valores escalares em \(A\), \(B\) e \(C\) se quiser um valor interpolado em \(P\).
  4. Use um exemplo predefinido se quiser carregar um caso de ponto interno, na aresta ou externo.
  5. Confira \(\lambda_A\), \(\lambda_B\), \(\lambda_C\), a classificação do ponto e a área do triângulo. Quando os três valores escalares forem informados, confira também o valor interpolado.
  6. Verifique a tabela de pesos para comparar os pesos decimais, as frações aproximadas e as subáreas opostas orientadas.
  7. Use os cartões de fórmulas e o gráfico para entender como a identidade das coordenadas, as razões entre áreas, o teste de fronteira e a fórmula de interpolação se relacionam.
  8. Baixe o gráfico como PNG se precisar de uma cópia da visualização.

Perguntas frequentes

As coordenadas baricêntricas sempre somam 1?

Coordenadas baricêntricas normalizadas somam \(1\). Em uma calculadora numérica, os valores exibidos podem ser arredondados, então os decimais visíveis podem somar algo como \(0.999999\) ou \(1.000001\). Essa pequena diferença geralmente se deve apenas ao arredondamento ou ao erro de ponto flutuante.


O que significa uma coordenada baricêntrica negativa?

Um peso negativo geralmente significa que o ponto está fora do triângulo, no lado oposto àquele vértice. Por exemplo, se \(\lambda_A\) for negativo, o ponto estará fora, além da aresta \(BC\), no sentido das áreas orientadas. A coordenada continua sendo significativa: ela indica localização e extrapolação, e não um resultado inválido.


Por que usar áreas orientadas em vez de áreas comuns?

As áreas comuns são sempre não negativas, portanto não conseguem distinguir um ponto interno de certos pontos externos. As áreas orientadas registram a orientação. É esse sinal que permite às coordenadas baricêntricas classificar pontos externos e, ao mesmo tempo, preservar a identidade de soma igual a um.


Pesos baricêntricos são iguais a porcentagens?

Para um ponto dentro do triângulo, os pesos podem ser lidos como porcentagens porque são não negativos e somam \(1\). Por exemplo, \(\lambda_A=0.25\) significa uma contribuição de \(25\%\) do vértice \(A\). Para pontos externos, pesos negativos ou maiores que um são mais bem entendidos como pesos de extrapolação, e não como porcentagens comuns.


As coordenadas baricêntricas podem interpolar mais de um valor?

Os mesmos três pesos podem interpolar muitas grandezas associadas aos vértices, como altura, canais de cor, coordenadas de textura ou componentes de vetores. Esta calculadora informa diretamente um valor escalar interpolado a partir de \(V_A\), \(V_B\) e \(V_C\) quando os três valores são fornecidos. Para interpolar vários canais, aplique os mesmos três pesos a cada canal separadamente.


Por que um triângulo estreito torna os resultados sensíveis?

Um triângulo muito estreito tem uma área pequena em comparação com o comprimento de suas arestas. Como os pesos baricêntricos são divididos pela área orientada do triângulo, pequenas alterações nas coordenadas ou erros de ponto flutuante podem ter um efeito maior. As classificações próximas da fronteira são especialmente sensíveis nessa situação.


Fontes e referências

Livros

  1. Christer Ericson. Real-Time Collision Detection. Morgan Kaufmann / CRC Press, 2005. Seções relevantes utilizadas: Capítulo 3, especialmente a Seção 3.4, “Barycentric Coordinates”, e a discussão relacionada aos testes de primitivas triangulares. Página da editora: https://www.routledge.com/Real-Time-Collision-Detection/Ericson/p/book/9781558607323
  2. Fletcher Dunn e Ian Parberry. 3D Math Primer for Graphics and Game Development. 2ª edição, A K Peters / CRC Press, 2011. Seções relevantes utilizadas: Capítulo 9, “Geometric Primitives”, especialmente as Seções 9.6.3–9.6.4 sobre espaço baricêntrico e cálculo de coordenadas baricêntricas. Edição online gratuita: https://gamemath.com/book/geomprims.html

Fontes online e educacionais

  1. Eric W. Weisstein. “Barycentric Coordinates.” Wolfram MathWorld, consultado em 27 de junho de 2026. https://mathworld.wolfram.com/BarycentricCoordinates.html
  2. MIT EECS 6.837 Computer Graphics. “Ray Casting II”, slides da aula de Cutler e Durand, outono de 2004. Slides relevantes utilizados: definição baricêntrica de um triângulo e cálculo de áreas orientadas. https://groups.csail.mit.edu/graphics/classes/6.837/F04/lectures/02_RayCasting_II.pdf
  3. Jonathan Richard Shewchuk. “What Is a Good Linear Element? Interpolation, Conditioning, and Quality Measures.” Proceedings of the 11th International Meshing Roundtable, 2002. Seções relevantes utilizadas: coordenadas baricêntricas como combinações afins, razões de área/volume, interpolação linear e sensibilidade à forma do elemento. https://people.eecs.berkeley.edu/~jrs/papers/elemj.pdf