Esto se logra mediante interpolación baricéntrica .
En primer lugar, nos encontramos con las coordenadas de barycentric . Las coordenadas barcéntricas representan la cantidad de peso que cada vértice aporta al punto, y se pueden usar para interpolar cualquier valor que se conozca en los vértices a través de la cara de un triángulo.P
Considere los 3 triángulos interiores , P B C y P C A .ABPPBCPCA
Podemos decir que la coordenada barcéntrica, o el peso del vértice en el punto P es proporcional a la proporción del área del triángulo interno P B C al área del triángulo completo A B CAPPBCABC .
Esto es intuitivamente evidente si consideramos que a medida que acerca a A, el triángulo P B C se hace más grande y los otros dos se hacen más pequeños.PAPBC
1
El método para calcular las coordenadas barcéntricas es:
BaryABaryBBaryC=(By−Cy)(Px−Cx)+(Cx−Bx)(Py−Cy)(By−Cy)(Ax−Cx)+(Cx−Bx)(Ay−Cy)=(Cy−Ay)(Px−Cx)+(Ax−Cx)(Py−Cy)(By−Cy)(Ax−Cx)+(Cx−Bx)(Ay−Cy)=1−BaryA−BaryB
La derivación y el razonamiento se explican en el artículo de Wikipedia .
P
Puv=BaryA⋅Auv+BaryB⋅Buv+BaryC⋅Cuv
El razonamiento también se explica muy bien en esta presentación.
También vea esta pregunta para métodos eficientes de computación.