我正在寻找一个函数或示例来生成一个代表高度图中特定高度的轮廓的行列表。
例如,
Lines[] = GetContours(Heights[512,512], HeightValue)
其中Heights是512x512浮点值数组,HeightValue是应绘制轮廓的高度。高度可能包含该特定高度的多条线(例如,马鞍或岛链)
有没有人知道在哪里获得算法来生成这个?
答案 0 :(得分:2)
你实际上要做的是绘制一条等值线 不久前见my question about 其中一个答案中的The link given非常有帮助。
答案 1 :(得分:1)
标准算法为marching squares。
答案 2 :(得分:1)
算法:
a)找出哪些多边形的顶点高于和低于您感兴趣的高度。
b)将这些多边形的边与平面相交以获得平面上的线。
c)将这些线条加在一起。
答案 3 :(得分:1)
看看Srtm2Osm,这是我用来生成美国宇航局SRTM数据轮廓的工具。您可以在C#代码中找到该算法。