使用热方程从散乱数据中插入地形表面

时间:2008-12-24 15:32:25

标签: c++ surface data-modeling

这是我在这个论坛的第一个问题,所以请耐心等待我,我希望我没有违反任何规则。我正在寻找不同的方法来将散乱的三维数据建模为网格函数(超过xy支持,z = z(x,y))。

回答另一个问题,coryan非常高兴提到我听说过的方法using heat equation to interpolate (approximate) a terrain surface并且渴望学习,甚至找到并行实现?请coryan或其他任何人指出我这样的实现,如果它是在公共领域,或至少进一步解释它是如何完成的。

2 个答案:

答案 0 :(得分:2)

不确定热效应,但我解决此问题的方法是TIN modelling。查看有关该主题Herbert EdelsbrunnersGeometry and Topology for Mesh Generation书籍。我会把它作为必读。同样值得的是Joeseph O'Rourkes Computational Geometry in C,虽然更一般的确包括有用的例子并且是一本有用的食谱。

在开源方面,请检查以下Code Guru link并查看Paul Bourkes工作。

答案 1 :(得分:1)

嗯,他指出的维基百科文章是一个好的开始。想想把冰块放在一杯热茶中:第一个瞬间,它们之间的梯度很陡:

     +-----
     |
-----+

但是热量与梯度成比例地越过梯度,因此它开始快速变化,然后随着时间的推移变化更慢。 (这就是为什么它是一个抛物线偏微分方程;变化率正在变化,所以你有∂²t。)所以你评估点,调整每一步的地形,以平滑过程。并行执行此操作只是为了将每个网格点及其相邻值交给每个步骤的单独进程;它不依赖于其他任何东西。