DanielVandH / NaturalNeighbours.jl

Natural neighbour interpolation methods for scattered data interpolation and derivative generation of planar point sets.
https://danielvandh.github.io/NaturalNeighbours.jl/
MIT License
22 stars 1 forks source link

Support 3D datapoints #15

Closed BambOoxX closed 1 year ago

BambOoxX commented 1 year ago

Hey, great job on this package !

I'm wondering if this could be extended to 3D data points ? This could vastly increase usability of your package, though I am not familiar enough with the underlying maths to know if it is relevant or not. Have a look at https://github.com/eljungsk/ScatteredInterpolation.jl, where they support that.

DanielVandH commented 1 year ago

Thanks for the issue!

I agree that having 3D support would be great. The only reason it doesn't exist is that the package that NaturalNeighbours.jl is built on, DelaunayTriangulation.jl, does not have 3D unconstrained Delaunay triangulations. (I'm also the creator of DelaunayTriangulation.jl, so this is something I have thought a lot about also - 3D is what I've wanted for a long time, but it is really so much more complex.)

Unfortunately, even if I e.g. wrap some other library that can provide these triangulations, there would still be a lot to think about (extending the existing 2D interface from DelaunayTriangulation.jl, computing Voronoi areas from the query points efficiently [not just computing the area, but also inserting the point into the triangulation without actually updating the triangulation], etc. - too many to list here) that I just don't have the time for unfortunately.