2

我正在使用 Java 3D 在 Java 中制作 3D 图表。它应该能够显示一堆测量值。根据测量,我得到的数据是分散的。这意味着我必须插入缺失的点才能很好地绘制我的表面。

我还没有研究所有 3D 几何的东西,我不知道从哪里开始。我的想法是将点三角剖分到表面,然后根据三角剖分对缺失的点进行插值。(看到这个大致了解我想要实现的目标)

有人有分散数据插值的经验吗?我的方法是正确的吗?如果是,我需要什么样的数据结构和算法来对我的点云进行三角测量?

4

3 回答 3

2

如果您需要对大型数据不规则数据集进行大量插值,例如绘制地表等高线,则三角测量非常快。插值是线性和离散的,仅基于您要插值的三角形的三个点。In还支持诸如断线之类的约束,例如考虑由点定义的地表,其中包括定义山脊或悬崖的线。

样条曲线在所有输入中给出了更平滑的结果,但在较大的数据集上可能会非常慢,并且可能会在间隔很短的数据上给出不寻常的结果。您可能还想查找 NURBS(一种样条曲面)和 Bezier 面片。

于 2010-05-25T06:22:03.930 回答
0

您需要使用插值函数,基本上它将您的数据点作为输入,并将返回任何 (x,y) 的 az 值。

例如,您可以使用样条插值,如apache commons math中所实现

于 2010-05-25T05:53:42.463 回答
0

如果您不想要三角测量的负担,您可能需要查看克里金法径向基函数插值法

于 2010-09-19T14:12:29.033 回答