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)
附图:
