如何解决C# 中的 scipy interp2d 实现
我需要从 3D 点云 (z=f(x,y)
) 插入一个平滑的表面,我发现 scipy 的 interp2d 函数使用三次样条提供了非常令人满意的结果。不幸的是,我正在开发的软件是用 C# 编写的,每次需要处理数据时都调用 Python 程序效率低下。
我查看了 scipy 的源代码,似乎 interp2d 依赖于一些用 Fortran 编写的 FITPACK 例程。我过去曾使用过 BLAS/LAPACK 的包装器,但在这里我找不到任何提供 3D 样条插值的 C#/.NET 库,要么依赖于 FITPACK,要么直接在 C# 中实现。实际上,我根本找不到此类计算的任何实现(在 scipy 中除外),这很令人惊讶。
Math.NET Numerics 提供基于样条的插值,但仅限于 2D (y=f(x)
)。 ilnumerics 似乎提供了 3D 插值,但它是一个付费库。
我觉得我错过了一些东西。是否有 C# 中的任何开源库(甚至是 C、Java 中的任何语言)来实现 scipy 的 interp2D 使用的算法?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。