Anar al contingut

Interpolació trilineal

De L'Enciclopèdia, la wikipedia en valencià

La interpolació trilineal és un método d'interpolació multivariable en un retícul regular tridimensional.[1] S'aproxima linealment al valor d'una funció en un punt intermig (x,y,z) dins d'un prisma rectangular axial local, utilisant les senyes de la funció en els punts del retícul. Per a un retícul no estructurat arbitrari (com s'usa en l'anàlisis del método dels elements finitos), es deuen usar atres métodos d'interpolació. Si tots els elements de la malla són tetraedres (símplices 3D), llavors les coordenades baricéntricas proporciona un procediment de càlcul més senzill.

L'interpolació trilineal s'utilisa en freqüència en l'anàlisis numèric, l'anàlisis de senyes i la computació gràfica.

Comparat en l'interpolació llineal i en la bilineal

[editar | editar còdic]

L'interpolació trilineal és l'extensió de l'interpolació llineal,[1] que opera en espais en dimensió D=1, i de l'interpolació bilineal, que opera en la dimensió D=2, a la dimensió D=3. Tots estos sistemes d'interpolació utilisen polinomis d'orde 1, lo que proporciona una precisió d'orde 2, i requerixen 2D=8 valors predefinits adjacents que rodegen el punt d'interpolació. Hi ha vàries formes d'aplegar a l'interpolació trilineal, que és equivalent a l'interpolació tridimensional tensorial d'orde 1 en B-splines, i l'operador d'interpolació trilineal també és un producte tensorial de 3 operadors d'interpolació llineal.[2]

Huit punts dels cantons d'una gaveta que rodegen al punt d'interpolació C
Erro al crear miniatura:
Representació de l'interpolació 3D
Archiu:Trilinear interpolation visualisation.svg
Una visualisació geomètrica de l'interpolació trilineal. El producte del valor en el punt desijat i el volum total és igual a la suma dels productes del valor en cada cantó i el volum parcial diagonalment opost al cantó

En una ret periòdica i cúbica, siguen xd, yd i zd siguen les diferències entre cada u de x, y, z i la coordenada més chicoteta relacionada, és dir:[3]

xd=xx0x1x0yd=yy0y1y0zd=zz0z1z0

a on x0 indica el punt de ret baix de x, i x1 indica el punt de ret per damunt de x i de manera similar per a y0,y1,z0 i z1.

Primer es interpola en x (imagine's que s'està "espentant" la cara de la gaveta definida per C0jk cap a la cara oposta, definida per C1jk), donant:

c00=c000(1xd)+c100xdc01=c001(1xd)+c101xdc10=c010(1xd)+c110xdc11=c011(1xd)+c111xd

a on c000 significa el valor de la funció de (x0,y0,z0). A continuació, es interpolan estos valors (en y, "espentant" de Ci0k a Ci1k), donant:

c0=c00(1yd)+c10ydc1=c01(1yd)+c11yd

Finalment, es interpolan estos valors en z (recorrent una recta):

c=c0(1zd)+c1zd.


Açò dona un valor previst per al punt.

El resultat de l'interpolació trilineal és independent de l'orde dels passos d'interpolació en els tres eixos: qualsevol atre orde, per eixemple en x, després en y i finalment en z, produïx el mateix valor.

Les operacions anteriors es poden visualisar de la següent manera: Primer es localisen els huit cantons d'una gaveta que rodegen al punt d'interés. Estos cantons tenen els valors c000, c100, c010, c110, c001, c101, c011, c111.

A continuació, es realisa una interpolació llineal entre c000 i c100 per a trobar c00, c001 i c101 per a trobar c01, c011 i c111 per a trobar c11, c010 i c110 per a trobar c10.

Ara es interpola entre c00 i c10 per a trobar c0, c01 i c11 per a trobar c1. Finalment, es calcula el valor c per mig d'interpolació llineal de c0 i c1.

En la pràctica, una interpolació trilineal és idèntica a dos interpolacions bilineales combinades en una interpolació llineal:[3]

cl(b(c000,c010,c100,c110),b(c001,c011,c101,c111))

Algoritme alternatiu

[editar | editar còdic]

Una forma alternativa d'escriure la solució al problema d'interpolació és[4]

f(x,y,z)a0+a1x+a2y+a3z+a4xy+a5xz+a6yz+a7xyz

a on els coeficients es troben resolent el sistema llineal

[1x0y0z0x0y0x0z0y0z0x0y0z01x1y0z0x1y0x1z0y0z0x1y0z01x0y1z0x0y1x0z0y1z0x0y1z01x1y1z0x1y1x1z0y1z0x1y1z01x0y0z1x0y0x0z1y0z1x0y0z11x1y0z1x1y0x1z1y0z1x1y0z11x0y1z1x0y1x0z1y1z1x0y1z11x1y1z1x1y1x1z1y1z1x1y1z1][a0a1a2a3a4a5a6a7]=[c000c100c010c110c001c101c011c111],

donant el resultat

a0=c000x1y1z1+c001x1y1z0+c010x1y0z1c011x1y0z0(x0x1)(y0y1)(z0z1)+c100x0y1z1c101x0y1z0c110x0y0z1+c111x0y0z0(x0x1)(y0y1)(z0z1),a1=c000y1z1c001y1z0c010y0z1+c011y0z0(x0x1)(y0y1)(z0z1)+c100y1z1+c101y1z0+c110y0z1c111y0z0(x0x1)(y0y1)(z0z1),a2=c000x1z1c001x1z0c010x1z1+c011x1z0(x0x1)(y0y1)(z0z1)+c100x0z1+c101x0z0+c110x0z1c111x0z0(x0x1)(y0y1)(z0z1),a3=c000x1y1c001x1y1c010x1y0+c011x1y0(x0x1)(y0y1)(z0z1)+c100x0y1+c101x0y1+c110x0y0c111x0y0(x0x1)(y0y1)(z0z1),a4=c000z1+c001z0+c010z1c011z0+c100z1c101z0c110z1+c111z0(x0x1)(y0y1)(z0z1),a5=c000y1+c001y1+c010y0c011y0+c100y1c101y1c110y0+c111y0(x0x1)(y0y1)(z0z1),a6=c000x1+c001x1+c010x1c011x1+c100x0c101x0c110x0+c111x0(x0x1)(y0y1)(z0z1),a7=c000c001c010+c011c100+c101+c110c111(x0x1)(y0y1)(z0z1).

Vore també

[editar | editar còdic]

Referències

[editar | editar còdic]
  1. 1,0 1,1 Samuel R. Buss (2003). 3D Computer Graphics: A Mathematical Introduction with OpenGL, Cambridge University Press, pp. 117 de 371. ISBN 9780521821032.
  2. (2003) Hierarchical and Geometrical Methods in Scientific Visualization, Springer Science & Business Media, pp. 219 de 367. ISBN 9783540433132.
  3. 3,0 3,1 (2022) Pattern Recognition and Artificial Intelligence: Third International Conference, ICPRAI 2022, Paris, France, June 1–3, 2022, Proceedings, Part I, Springer Nature, pp. 463 de 704. ISBN 9783031090370.
  4. «Trilinear Interpolation» (en en). NASA. Consultat el 29 de febrer de 2024.


Referències

[editar | editar còdic]