📄 koch.m
字号:
function [z,A]=Koch(z,A,n);
% 递归法生成Koch曲线
% Example:
% [z,A]=Koch(0,pi/2,0);
% 算法见:
% http://graphics.shu.edu.cn/course/fractal/program/p3-4-1-2.htm
z=0;A=pi/2;n=0;
N=4; % 递归次数
len=400/3^n;
hold on;
if n>=N
plot([z,z+len*exp(i*A)]/i);
z=z+len*exp(i*A);
else
[z,A]=Koch(z,A,n+1);
A=A+pi/3;
[z,A]=Koch(z,A,n+1);
A=A-pi*2/3;
[z,A]=Koch(z,A,n+1);
A=A+pi/3;
[z,A]=Koch(z,A,n+1);
end
axis on;axis equal
% zz=xlim;
% xlim([min(zz),mean(zz)])
function iterative_f2_move;
% x=y-sign(x)*sqrt(abs(b*x-c))
% y=a-x
% Author's email:zjliu2001@163.com
% reference:
% http://astronomy.swin.edu.au/~pbourke/fractals/wallpaper/
%
%
figure;
set(gcf,'doublebuffer','on');
for h=1:10^6;
c=(mod(h,100)-50)/50*2;
h1=round(h/100);
b=(mod(h1,100)-50)/50*2;
h2=round(h1/100);
a=(h2-50)/50*2;
funabc(a,b,c);
title(['(a,b,c)= ','(',num2str(a),',',...
num2str(b),',',num2str(c),')']);
pause(0.4);
end
function funabc(a,b,c);
% a=05; % month
% b=21; % day
% c=1979; % year
N=10000;
x=zeros(1,N);
y=x;
for k=1:N-1;
x(k+1)=y(k)-sign(x(k))*sqrt(abs(b*x(k)-c));
y(k+1)=a-x(k);
end
X=[cos(pi/4),sin(pi/4);sin(-pi/4),cos(pi/4)];
S=[-y;x]'*X;
xx=S(:,1);yy=S(:,2);
plot(xx,yy,'w.','markersize',2);
set(gca,'color','k');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -