Fork me on GitHub

cantor三分集

  值得一提的是,第一次听说cantor三分集是在数字电路课上,然而数电是我最不喜欢的课程之一。。。。。。

  分形大都具有自相似、自仿射性质,所以cantor三分集用递归再合适不过了,本来不想用matlab的,毕竟以后不会靠这东西。但是考虑到其方便的绘图功能还是用了。matlab写递归还是头一遭,心慌慌,不过试了一下发现和其他语言基本没差别!

  源码

function cantor(Ax, Ay, Bx, By)
precision = 0.001;
if Bx-Ax < precision
    plot([Ax, Bx], [Ay, By], '-', 'LineWidth', 1, 'Color', [0 0 0]);
else
    plot([Ax, Bx], [Ay, By],  '-', 'LineWidth', 1, 'Color', [0 0 0]);
    hold on
    Cx = Ax + (Bx-Ax)/3;
    Cy = Ay + 1;
    Dx = Bx - (Bx-Ax)/3;
    Dy = By + 1;
    Ay = Ay + 1;
    By = By + 1;
    cantor(Ax, Ay, Cx, Cy);
    cantor(Dx, Dy, Bx, By);
end

  命令窗口直接调用就行了:

cantor(10, 1, 500, 1)

  附图:

 

posted @ 2016-04-01 22:57  赵裕(vimerzhao)  阅读(828)  评论(0编辑  收藏  举报