%这是一个生成树的主函数,它的输入分别为每叉树枝的缩短比、树枝的偏角、生长次数 .
%注意:把这些程序全部保存在名为 tree 的 M文件中再运行! !!!!!!!
%注意:把这些程序全部保存在名为 tree 的 M文件中再运行! !!!!!!!
%注意:把这些程序全部保存在名为 tree 的 M文件中再运行! !!!!!!!
%注意:把这些程序全部保存在名为 tree 的 M文件中再运行! !!!!!!!
%注意:把这些程序全部保存在名为 tree 的 M文件中再运行! !!!!!!!
%注意:把这些程序全部保存在名为 tree 的 M文件中再运行! !!!!!!!
%注意:把这些程序全部保存在名为 tree 的 M文件中再运行! !!!!!!!
%%小提示:若用做函数,请将虚线框内语句删去。
function f=tree(w,dtheata,NN)
%%%-------------------- 虚线框 --------------------%%%
clear;clc;clf;w=0.8;dtheata=pi/6;NN=8;% 建议生长次数 NN不要超过 10
%%%-------------------- 虚线框 --------------------%%%
n=2^NN;%从主枝算起,共需生成 2^NN个树枝
for NNK=1:n
x1=0;
y1=0;
r1=1;
theata1=pi/2;
dataway=ten2twoN(NNK,NN); % 把每一个树枝的编号转化为一个 NN位的二进制数
for NNL=1:NN
if dataway(NNL)==0
[x2,y2,r2,theata2]=antmoveleft(x1,y1,r1,theata1,w,dtheata);% 若路径数
组上对应的数字为 0,则向左生长
x1=x2;
y1=y2;
r1=r2;
theata1=theata2;
hold on
%pause(eps)
else
[x2,y2,r2,theata2]=antmoveright(x1,y1,r1,theata1,w,dtheata);% 否则,数
字为 1,向右生长
x1=x2;
y1=y2;
r1=r2;
theata1=theata2;
hold on
%pause(eps)
end
end
end
hold off
%--------------------------------------------------------------------------