J'ai un maillage irrégulier qui est décrit par deux variables - un tableau de faces qui stocke les indices des sommets constituant chaque face, et un tableau vert qui stocke les coordonnées de chaque sommet . J'ai aussi une fonction qui est supposée être constante par morceaux sur chaque face, et elle est stockée sous la forme d'un tableau de valeurs par face.Interpolation des données 2d qui sont constantes par morceaux sur les faces
Je cherche un moyen de construire une fonction f
à partir de ces données. Quelque chose le long des lignes suivantes:
faces = [[0,1,2], [1,2,3], [2,3,4] ...]
verts = [[0,0], [0,1], [1,0], [1,1],....]
vals = [0.0, 1.0, 0.5, 3.0,....]
f = interpolate(faces, verts, vals)
f(0.2, 0.2) = 0.0 # point inside face [0,1,2]
f(0.6, 0.6) = 1.0 # point inside face [1,2,3]
La méthode manuelle d'évaluation f(x,y)
serait de trouver la face correspondante que le point x,y
se trouve dans, et retourner la valeur qui est stockée dans ce visage. Y at-il une fonction qui l'implémente déjà dans scipy (ou dans matlab)?