看看GIS的缓冲区分析功能,很成熟的功能。

解决方案 »

  1.   

    我本身就是做gis的。缓冲区算法已经很成熟,我本身也会算。
    我是想求那个临界值。
      

  2.   

    谢谢syy64(太平洋)的关注和回复。
    但是答案肯定是不对的。
      

  3.   

    谢谢syy64(太平洋)的回复,但是我想您还没有理解等距线是什么意思。
      

  4.   

    偶以前做过GIS方面的功能,包括拓扑功能和Overlay功能都做过,现已很多年不作这方面的了,你的问题我觉得有办法解决,只是得花不少时间去思考和实践。
      

  5.   

    是的,我也觉得肯定有办法解决,因为这是任意多边形的一个固定性质,
    就像它的面积是固定的一样。像我给出的那个buffer.jpg上的那个图形,求临界距离d应该是
    把凹角的两个边延长,与对面的那个边相交,得到一个三角形,
    求三角形的内心(角平分线交点)p,p点到边的距离既是我们要求的
    d值。但是我不知道怎样把这个规律应用于所有的凹多边形。因为
    具体情况实在是有够复杂。
      

  6.   

    楼主说的确实挺难的。 按照一些已知的算法, 凹点的处理是非常费时的, 楼主的想法是一开始就找到最快分割多边形的凹点, 如果能这样算法的复杂度就大大降低了。我的想法是:很难。。在你找到最小值之前, 一般都要计算所有的值。 要么换个思路, 要么尽量提高关键代码的效率。这里有个demo:http://www.cppblog.com/aqazero/archive/2010/09/02/125691.html
      

  7.   

    http://www.cppblog.com/aqazero/archive/2010/09/09/126241.html