我正在寻找一个函数或示例来生成表示高度图中特定高度的轮廓的线条列表。
例如,
Lines[] = GetContours(Heights[512,512], HeightValue)
其中 Heights 是一个 512x512 的浮点值数组,HeightValue 是应绘制轮廓的高度。高度可能包含该特定高度的多条线(例如马鞍或岛链)
有没有人有或知道在哪里可以得到一个算法来生成这个?
你实际上想要做的是画一条等值线。不久前
看到我的问题。
其中一个答案中给出的链接非常有帮助。
标准算法是前进广场。
算法:
a)找出哪些多边形的顶点高于和低于您感兴趣的高度。
b) 将这些多边形的边缘与平面相交以获得平面上的线。
c) 将线条连接在一起。
看看Srtm2Osm,这是我用来从 NASA 的 SRTM 数据生成轮廓的工具。您可以在 C# 代码中找到该算法。