代码之家  ›  专栏  ›  技术社区  ›  JaeWoo So

是否有“几何等高线算法”?

  •  3
  • JaeWoo So  · 技术社区  · 8 年前

    数据只是(x,y,z)的列表,其中只有几个点(约40~60)。 (x和y是位置,z是高度)

    我怎样才能找到这条等高线和点?

    3 回复  |  直到 4 年前
        1
  •  4
  •   Yves Daoust    8 年前

    作为第一近似,您可以承认您的函数在数据点的三角剖分上是分段平面的。

    一种可能的解决方法是将多段线作为后处理步骤进行平滑,例如将其转换为多边形贝塞尔。

    我更喜欢的另一种方法是使用高阶插值方法。对于C1连续性,可以计算给定点处的梯度估计,并在三角形上拟合二次函数。然后将三角形细分为子三角形,在子顶点处插值函数,并切换到这些子三角形中的平面模型。

        2
  •  1
  •   salva    8 年前

    由于它看起来像一个不规则的网格,您应该首先在其周围构建一个网格(例如,从 Voronoi tesellation

    然后将三角形内的高度函数近似为线性函数,找出这些等高线的位置并绘制它们。

        3
  •  0
  •   Codor    8 年前

    here . 在简化过程中,使用正方形代替立方体,并使用四个采样值代替立方体的八个角点进行插值。

    marching squares .