【问题标题】:Linear Interpolation of Scattered 2D Data分散二维数据的线性插值
【发布时间】:2014-08-31 01:31:06
【问题描述】:

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

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

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

This postthis one 似乎也在尝试对我做些什么,但他们的回答并不完全适用。

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

注意:我使用的是 JavaFX-2,所以如果我能以某种方式使用他们的 Interpolator 类,那就太好了。

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

【问题讨论】:

  • 我理解你的问题对吗?:你有一组点 (x, y, z),你想在这些点周围创建一个区域,其中填充颜色取决于 z 值并且应该在点之间插值?
  • @Vertex 是的,听起来不错

标签: java javafx javafx-2 interpolation


【解决方案1】:

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

  1. 将二维点云转换为网格(您可以在 google 上搜索现有算法)
  2. 将每个点的 z 值映射到顶点的颜色
  3. 使用 Gouraud 着色在顶点颜色之间启用线性插值
  4. 在网格顶部创建一个相机并使用正交投影(以避免透视)

你说你可以使用JavaFX。 JavaFX 支持 3d 场景,您可以构建自己的网格。但是查看TriangleMesh的JavaDoc,我找不到任何设置顶点颜色的方法,我发现只有一个设置(x,y,z)和(u,v)(纹理坐标)坐标的方法。

【讨论】:

  • 它看起来只在 JavaFX 8 中可用。我只有 JavaFX 2 =/
  • 还有其他用于 Java 的 3d 框架,例如 jMonkEyengine。设置顶点颜色见Custom Mesh Shapes
  • 我真的希望找到一种使用标准 Java 库的简单方法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-13
  • 1970-01-01
相关资源
最近更新 更多