之前一篇blog已经说明了最基本的情况,这里不再罪赘述(008 matlab语言实现一点到对角的路径PART1)
最近,对这个问题做了一些改进与优化。
1、改进:增加了不可到达点
其实这个还是很容易实现得,只需要检查路径中有没有这样不能到达的点,然后这样的路径不画出来就行了,改进部分代码如下:
for j=1:length(Paths(1,:))
x=x+Paths(2,j);
y=y+Paths(1,j);%I'm in chaos
if X==x && Y==y
break;
end
Matrix(x,y)=1;
end
if x~=X && y ~=Y
imagesc(Matrix)
pause(0.000001);
end
此外,由于上次是产生一个点画一个图导致图像效果很不好,路径没到终点(人眼视觉上)就切换到下一个路径了。所以将imagesc()的位置也调了一下,放在for循环之外,效果一下子好了不少