2024年4月28日发(作者:)

Matlab实现 递归算法生成3维分形树

注:此算法树根在侧面,需对坐标轴进行旋转便可得到上图效果

以下代码全部粘贴到一个M文件中命名为TreeByL即可运行

为方便网友研读代码加入了大量注释

同时愿与matlab程序爱好者进行交流:Linking508@

%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Matlab实现 递归算法生成3维分形树

%ByLinking

%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function TreeByL

L=15;%主干长

a=0;

b=pi/3;

r=0;%r=pi/5;

%分支生成函数

makeBranch(0,0,0,L,a,b,r);

% a在XOZ平面投影与X轴夹角 b与Y轴的夹角 r与主干的夹角

function makeBranch (x,y,z,L,a,b,r)

B=pi/5;s1=1.5;s2=3;s3=1.2;%B枝干的倾斜度 C主干的倾斜度 s1细腻程度 s2分

支收缩速度 s3主干收缩速度

% B=pi/5;s1=1.5;s2=2.4;s3=1.35;

if L>s1