java - 散点二维数据的线性插值

标签 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 Triangulation 实现:
Main Site
Code API

最佳答案

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

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

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

关于java - 散点二维数据的线性插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24663580/

相关文章:

java - 这个散列函数的效率如何?

java - 使用cmd安装元数据库

JavaFX FXML 标签不更新其值

intellij-idea - 如何让 JavaFX 和 Java 11 在 IntelliJ IDEA 中工作

text - JavaFx 2.x : How to write text on a chart?

java - 如何在 spring 集成中使用聚合器对事件进行分组/批处理

java - 在 Spring Boot 应用程序中使用 @Valid 和 BindingResult 时出现表单输入验证问题

css - JavaFX - 用于定义 StageStyle 的 css 文件位于何处或如何更改它?

java FX : scene's lookup method

java - 如何将 Spring 与 JavaFX 一起使用?