⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 koch.m

📁 matlab的分形程序:康托集
💻 M
字号:
function f=Koch(ax,ay,bx,by,c)

if (bx-ax)^2+(by-ay)^2<c

    x=[ax,bx];y=[ay,by];

    plot(x,y);hold on;

else

    cx=ax+(bx-ax)/3;    cy=ay+(by-ay)/3;

    ex=bx-(bx-ax)/3;   ey=by-(by-ay)/3;

    l=sqrt((ex-cx)^2+(ey-cy)^2);

    alpha=atan((ey-cy)/(ex-cx));

    if (alpha>=0&(ex-cx)<0)|(alpha<=0&(ex-cx)<0)

        alpha=alpha+pi;

    end

  %  dy=cy+sin(alpha+pi/3)*l;

   % dx=cx+cos(alpha+pi/3)*l;
val=rand();

    if val<0.95

        vv=1;

    else

        vv=-1;

    end

    dy=cy+sin(alpha+vv*pi/3)*l;

    dx=cx+cos(alpha+vv*pi/3)*l;

   
    Koch(ax,ay,cx,cy,c);

    Koch(ex,ey,bx,by,c);

    Koch(cx,cy,dx,dy,c);

    Koch(dx,dy,ex,ey,c);

end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -