Как использовать scipy.interpolate.LinearNDInterpolator с собственной триангуляцией - PullRequest
0 голосов
/ 24 сентября 2018

У меня есть мой собственный алгоритм триангуляции , который создает триангуляцию на основе условия Делоне и градиента, так что треугольники совпадают с градиентом.

Это пример выходных данных: enter image description here

Приведенное выше описание не имеет отношения к вопросу, но необходимо для контекста.

Теперь я хочу использовать мою триангуляцию с scipy.interpolate.LinearNDInterpolator для интерполяции.

С Делоне Сципи я бы сделал следующее:

import numpy as np
import scipy.interpolate
import scipy.spatial
points = np.random.rand(100, 2)
values = np.random.rand(100)
delaunay = scipy.spatial.Delaunay(points)
ip = scipy.interpolate.LinearNDInterpolator(delaunay, values)

Этот объект delaunay имеет delaunay.points и delaunay.simplices, которые образуют триангуляцию.У меня точно такая же информация с моей собственной триангуляцией, но для scipy.interpolate.LinearNDInterpolator требуется объект scipy.spatial.Delaunay.

Я думаю, мне нужно было бы создать подкласс scipy.spatial.Delaunay и реализовать соответствующие методы.Однако я не знаю, какие мне нужны, чтобы туда добраться.

...