I have my own triangulation algorithm that creates a triangulation based on both Delaunay's condition and the gradient such that the triangles align with the gradient.
The above description is not relevant to the question but is necessary for the context.
Now I want to use my triangulation with scipy.interpolate.LinearNDInterpolator
to do an interpolation.
With scipy's Delaunay I would do the following
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)
This delaunay
object has delaunay.points
and delaunay.simplices
that form the triangulation. I have the exact same information with my own triangulation, but scipy.interpolate.LinearNDInterpolator
requires a scipy.spatial.Delaunay
object.
I think I would need to subclass scipy.spatial.Delaunay
and implement the relevant methods. However, I don't know which ones I need in order to get there.