%这是一个生成树的主函数,它的输入分别为每叉树枝的缩短比、树枝的偏角、生长次数
%注意:把这些程序全部保存在名为
tree的
M文件中再运行!
!!!!!!!
%注意:把这些程序全部保存在名为
tree的
M文件中再运行!
%这是一个生成树的主函数,它的输入分别为每叉树枝的缩短比、树枝的偏角、生长次数
%注意:把这些程序全部保存在名为
tree的
M文件中再运行!
!!!!!!!
%注意:把这些程序全部保存在名为
tree的
M文件中再运行!
!!!!!!!
%注意:把这些程序全部保存在名为
tree的
M文件中再运行!
!!!!!!!
%注意:把这些程序全部保存在名为
tree的
M文件中再运行!
!!!!!!!
%注意:把这些程序全部保存在名为
tree的
M文件中再运行!
!!!!!!!
%注意:把这些程序全部保存在名为
tree的
M文件中再运行!
!!!!!!!
%注意:把这些程序全部保存在名为
tree的
M文件中再运行!
!!!!!!!
%%小提示:若用做函数,请将虚线框内语句删去。
functionf=tree(w,dtheata,NN)
%%%虚线框%%%
clear;clc;clf;w=;dtheata二pi/6;NN=8;%建议生长次数NN不要超过10
%%%虚线框%%%
n=2'NN;%从主枝算起,共需生成2'NN个树枝
forNNK=1:n
x1=0;
y1=0;
r1=1;
theata1=pi/2;
dataway=ten2twoN(NNK,NN);%把每一个树枝的编号转化为一个NN位的二进制数
forNNL=1:NN
ifdataway(NNL)==0
[x2,y2,r2,theata2]=antmoveleft(xl,yl,rl,theatal,w,dtheata);%若路径数
组上对应的数字为0,则向左生长
x1=x2;
y1=y2;
r1=r2;theata1=theata2;
holdon
%pause(eps)
else
[x2,y2,r2,theata2]=antmoveright(xl,yl,rl,theatal,w,dtheata);%否则,数字为1,向右生长
x1=x2;
y1=y2;
r1=r2;
theata1=theata2;
holdon
%pause(eps)
end
end
end
holdoff
%
%这是一个十进制转换为二进制的函数,适用于正整数
functionyushu=ten2two(x)yushu=[];
shang=2;
ifx==1
yushu=[1];
else
whileshang>1
shang=fix(x/2);
yushu=[mod(x,2),yushu];
x=shang;
end
yushu=[1,yushu];
end
%
%该函数的功能是将十进制转化为指定位皿NN)的二进制数
functiondataway=ten2twoN(NNK,NN);dataway=ten2two(NNK);
[a,b]=size(dataway);
Ncc=NN-b;%需要补充的0的个数
for
分形树 Matlab 来自淘豆网m.daumloan.com转载请标明出处.