我正在根据SRTM高度数据创建地球的三维模型。数据集非常庞大,因此在任何给定时间只有一小部分数据可用。
高度数据以 1° x 1°瓦片的形式组织,这些瓦片具有不同的分辨率(从 1x1 到 1200x1200,大致以 2 次方为单位)。出于可视化目的,我以等距的步长对表面进行采样。采样定理为我提供了一个最佳的瓦片分辨率,只要该点位于瓦片的中间或所有相邻瓦片具有相同的分辨率,这非常简单。
我目前正在使用三次样条来获得连续可微分的表面函数。数据点为灰色,采样点为红色 x,使用的数据点为绿色。
当一个点靠近两个不同解析图块的边界时,就会出现问题。
使用该点的最近邻居并在它们之间进行线性插值给我一个连续的表面,但不是一个可微的表面:
不幸的是,最常见的这种邻居是一个大的(1200x1200 或 600x600)瓷砖,旁边是一个 1x1 的瓷砖。
我需要一种在这些边界上平滑插值的算法,它提供
- 如果查询点与瓦片数据点重合,则结果接近准确
- 两个方向的连续可微性
- 高频特征迅速淡入低分辨率图块
- 良好的性能(可能以牺牲准确性为代价)