Z-Werte in einer 3D-Oberfläche ausgehend von einer unregelmäßigen Menge von Punkten interpolieren [geschlossen]

Ich habe eine Oberfläche, die wie in Abbildung A aussieht. Stellen Sie sich vor, das ist eine Draufsicht. Die Oberfläche hat den Z-Wert berechnet.

Jetzt muss ich alle Z-Werte in neuen Punkten wie in Abbildung B finden. Wie geht das? Ich habe es versuchtscipy.interpolate.interp2d aber es gibt einige seltsame Ergebnisse wie folgt:

Ich möchte nur benutzerdefinierte z für benutzerdefinierte x und y in der "Figur" finden.

Mindestcodebeispiel

func_int = scipy.interpolate.interp2d([point[0] for point in pointsbottom],[point[1] for point in pointsbottom],[point[2] for point in pointsbottom], kind = 'linear')
pointscaption = map(lambda point:(point[0],point[1],func_int(point[0],point[1])),pointscaption)

Wopointsbottom ist eine Liste von (x, y, z) undpointscaption ist eine Liste von (x, y, z), aber ich muss neue z finden.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage