欢迎加入C/C++ QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611
心血来潮写了同名的一篇随笔,事后才发现其实算法只实现了一部分,很是懊恼,自己无法完整看穿问题,无法迅速发现自己的问题。遂以此文补充之。
望勿 误人子弟 !
且可以此警示自己! 【上一篇入口】
先把上一篇中遗漏的方面总体记下:
以下情况上,该算法无法解决:
【1】如图中红色A和B两点,用原来的算法计算是没有通路的,但是其实A和B是可以连接消除的。
消除路劲如下:
【2】当两点位于边缘的时候:
就不上图了,只要是位于同一边的两点是可以直接消除的。
问题提出来了,下面把解决方案说说:
其实就是根据之前的算法,不仅限于矩形的范围。
扩大到图中绛色的矩形区域。
根据原来算法的【第四步】图解【遍历对边的是否通路】
改成不仅仅判断矩形的对边,而是扩展到矩形对边的延长线上,判断对应延长线上是否有通路,有则可以消除;
看图示:
由于不会使用专业画图工具,只能草草作图了,希望能看得懂。
想着想着发现这个算法已经比较臃肿了,于是想着如何优化算法;
下一篇补上;谢谢
欢迎加入C/C++ QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611