Interpolação bilinear inversa?
Tenho quatro pontos 2d, p0 = (x0, y0), p1 = (x1, y1) etc. que formam um quadrilátero. No meu caso, o quad não é retangular, mas deve ser pelo menos convex
p2 --- p3
| |
t | p |
| |
p0 --- p1
s
Estou usando interpolação bilinear. S e T estão dentro de [0..1] e o ponto interpolado é dado por:
bilerp(s,t) = t*(s*p3+(1-s)*p2) + (1-t)*(s*p1+(1-s)*p0)
Aqui está o problema .. Eu tenho um ponto 2d que eu sei que está dentro do quad. Quero encontrar o s, t que me dará esse ponto ao usar a interpolação bilinear.
Existe uma fórmula simples para reverter a interpolação bilinea
Obrigado pelas soluções. Postei minha implementação da solução de Naaff como wiki.