Bonjour,
Étant donné trois variables indépendantes (V1, V2, V3), l'idée est de faire intervenir un polynôme de degré 1 par rapport à chacune d'entre elles, donc susceptible d'un développement de la forme:
P(V1, V2, V3) = A + B1V1 + B2V2 + B3V3 + C1*V2V3 + C2*V3V1 + C3*V1V2 + D*V1V2V3 ,
Les coefficients, bien que nombreux (8 = 23 dans le cas présent) s'expriment assez facilement en fonction des valeurs extrêmes si l'on choisit pour celles-ci (0) et (1); on obtient ainsi:
P(0, 0, 0) = A ; P(1, 0, 0) = A + B1 ; P(0, 1, 0) = A + B2 ...
P(1, 1, 0) = A + B1 + B2 + C3 ... etc .
Il existe néanmoins un procédé plus rapide de déterminer la valeur cherchée: c'est d'exprimer celle-ci en fonction des valeurs extrêmes, par une relation affine. Pour reprendre la notation proposée, et en s'en tenant aux mêmes valeurs exrêmes (0, 1):
W(x, y, z) = W(x, y, 0)*(1 - z) + W(x, y, 1)*z
W(x, y, 0) = W(x, 0, 0)*(1 - y) + W(x, 1, 0)*y
W(x, y, 1) = W(x, 0, 1)*(1 - y) + W(x, 1, 1)*y
W(x, 0, 0) = W(0, 0, 0)*(1 - x) + W(1, 0, 0)*x
W(x, 1, 0) = W(0, 1, 0)*(1 - x) + W(1, 1, 0)*x
W(x, 0, 1) = W(0, 0, 1)*(1 - x) + W(1, 0, 1)*x
W(x, 1, 1) = W(0, 1, 1)*(1 - x) + W(1, 1, 1)*x
soit 7 interpolations en dimension 3.
En dimension (N), il en faudrait 1 + 2 + 22 + ... + 2N - 1 = 2N - 1 :D
le débordement calculatoire ne tardera pas à se produire .