Eu quero encontrar as coordenadas de textura para o ponto P. Eu tenho os vértices do triângulo e suas coordenadas uv correspondentes.
Os números nos pequenos quadrados na textura representam valores de cores.
Quais são as etapas para calcular as coordenadas uv de P?
uv-mapping
john john
fonte
fonte
Respostas:
Isto é conseguido através da interpolação baricêntrica .
Primeiro, encontramos as coordenadas baricêntricas de . As coordenadas barocêntricas representam quanto peso cada vértice contribui para o ponto e pode ser usado para interpolar qualquer valor que seja conhecido nos vértices na face de um triângulo.P
Considere os três triângulos internos , e .P B C P C AA B P PB C PCUMA
Podemos dizer que a coordenada barêntrica, ou o peso do vértice no ponto é proporcional à razão entre a área do triângulo interno e a área de todo o triângulo .P P B C A B CUMA P PB C A B C
Isso é intuitivamente evidente se considerarmos que, à medida que aproxima de o triângulo aumenta e os outros dois se tornam menores.A P B CP UMA PB C
Também intuitivamente evidente deve ser que a soma das coordenadas baricêntricas de um ponto dentro de um triângulo sempre seja igual a . Portanto, basta encontrar apenas duas das coordenadas para derivar a terceira.1
O método para calcular as coordenadas barricêntricas é:
A derivação e o raciocínio são explicados no artigo da Wikipedia .
Depois de ter coordenadas, é possível determinar as coordenadas de textura de interpolando os valores nos vértices usando as coordenadas bariêntricas como pesos:P
O raciocínio também é explicado muito bem nesta apresentação.
Veja também esta pergunta para métodos eficientes de computação.
fonte