如何从球面/半球面的球坐标数据中找到插值点

3

如何在C++中对球面/半球面上的数据进行插值?

我有一堆具有密度值相关联的theta,phi球面坐标。[Theta | Phi | Density] 约100个点。

如果我采样一个新的数据点,在数据中没有捕获到但在球面上,我该如何从数据点中找到插值后的密度值?

使用样条、径向基函数或其他什么方法呢?


这不是一个编程问题。最好去其他地方问。我猜一种方法是使用球面谐波。 - Walter
2
这个问题似乎不是关于编程的,因此被认为是不相关的。 - Walter
我在算法和数学板块都发了帖子,但我认识一些用C++做过这个的人,所以我认为那里也相关。 - John Du
你在SO上发布了带有C++algorithmmath标签的内容。你没有在算法和数学中进行交叉发布。引用自math标签:任何与此规模相关的数学问题都应该与编程有关 - Walter
对我来说,这似乎是一个关于球面插值的实际编程问题,而不是理论问题。 - hardmath
1个回答

4
你可以使用像泰森多边形这样的工具来从现有点创建一组(最好是凸)面,然后根据每个顶点的接近程度在这些面内插值。

这个答案可能会提供一些有用的指针:

算法:如何在球体上计算泰森多边形?


1
在ObjectMix上有一个漫长的帖子,讨论如何从球面上的点生成Delaunay三角剖分。这个话题被领先的几何计算专家Dave Eberly关注并深入探讨。基本上,这是一个需要在3D中使用凸包算法的工作。 - hardmath
我想过那个,但它并不真正插值,更像是一种nN方法。 - John Du

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接