散乱二维数据的线性插值

时间:2014-07-09 20:51:20

标签: java javafx javafx-2 interpolation

所以我有一些不规则间隔的数据,我想插入到常规网格上。 (我想完全this,但在Java中)这是一张图片:

Scattered Data for Interpolation

基本上我有每个点的x和y坐标以及与每个点相关联的z值,我想在它们之间进行插值并填充图像的中心。

使用Java执行此操作的最佳方法是什么?是否有我可以使用的内置2D插值库,或者我应该尝试“自己动手”的方法吗?

This postthis one似乎也试图解决我的问题,但他们的答案并不适用。

Someone else遇到同样的问题,但没有解决方案。

注意:我正在使用JavaFX-2,所以如果我能以某种方式使用他们的Interpolator类很棒。



修改 如果有人偶然发现并且想知道我最终使用了什么,那就是来自BGU的Delaunay三角测量实现:
Main Site
Code API

1 个答案:

答案 0 :(得分:2)

如果线性插值已足够,我建议您使用带有Gouraud着色的3d网格进行绘图:

  1. 将2d点云转换为网格(您可以谷歌搜索现有算法)
  2. 将每个点的z值映射到顶点'color
  3. 使用Gouraud着色在顶点颜色之间启用线性插值
  4. 在网格顶部创建一个摄影机并使用异常投影(以避免透视)
  5. 你说你可以使用JavaFX。 JavaFX支持3d场景,您可以构建自己的网格。但是看看TriangleMesh的JavaDoc,我找不到任何设置顶点颜色的方法,我发现只有一个方法来设置(x,y,z)和(u,v)(纹理坐标)坐标。