matlab分形树木,MATLAB 分形树生成算法(二)

news/2025/2/25 18:45:17

function tree(n,a,b) % tree(8,pi/8,pi/8),n为分形树迭代次数 %a,b为分枝与竖直方向夹角 %x1,y1,x2,y2为初始线段两端点坐标,nn为迭代次数 n=8;a=pi/6;b=pi/6; x1=0;y1=0; x2=0;y2=1; plot([x1,x2],[y1,y2]) hold on [X,Y]=tree1(x1,y1,x2,y2,a,b); hold on W=tree2(X,Y); w1=W(:,1:4); w2=W(:,5:8); % w为2^k*4维矩阵,存储第k次迭代产生的分枝两端点的坐标, % w的第i(i=1,2,…,2^k)行数字对应第i个分枝两端点的坐标 w=[w1;w2]; for k=1:n for i=1:2^k [X,Y]=tree1(w(i,1),w(i,2),w(i,3),w(i,4),a,b); W(i,:)=tree2(X,Y); end w1=W(:,1:4); w2=W(:,5:8); w=[w1;w2]; end %由每个分枝两端点坐标(x1,y1),(x2,y2)产生两新点的坐标(x3,y3),(x4,y4),画两分枝图形,并把%(x2,y2)连同新点横、纵坐标分别存储在数组X,Y中 function [X,Y]=tree1(x1,y1,x2,y2,a,b) L=sqrt((x2-x1)^2+(y2-y1)^2); if (x2-x1)==0 a=pi/2; else if (x2-x1)<0 a=pi+atan((y2-y1)/(x2-x1)); else a=atan((y2-y1)/(x2-x1)); end end x3=x2+L*2/3*cos(a+b); y3=y2+L*2/3*sin(a+b); x4=x2+L*2/3*cos(a-b); y4=y2+L*2/3*sin(a-b); a=[x3,x2,x4]; b=[y3,y2,y4]; plot(a,b) axis equal hold on X=[x2,x3,x4]; Y=[y2,y3,y4]; %把由函数tree1生成的X,Y顺次划分为两组,分别对应两分枝两个端点的坐标,并存储在一维%数组w中 function w=tree2(X,Y) a1=X(1);b1=Y(1); a2=X(2);b2=Y(2); a3=X(1);b3=Y(1); a4=X(3);b4=Y(3); w=[a1,b1,a2,b2,a3,b3,a4,b4];


http://www.niftyadmin.cn/n/675105.html

相关文章

[营养知识]43个不可不知的健康常识

1、常吃宵夜&#xff0c;会得胃癌&#xff0c;因为胃得不到休息。        2、一个星期只能吃四颗蛋&#xff0c;吃太多对身体不好。        3、鸡屁股含有致癌物&#xff0c;不要吃较好。        4、饭后吃水果是错误的观念&#xff0c;应是饭前吃水果…

权证基础知识学习(二)

六、创设人应当持续关注行权履约担保品的状况&#xff0c;确保行权专用证券账户和行权专用资金交收账户具备足额行权履约担保品。被质押、司法冻结或存在其他权利瑕疵的标的证券或资金&#xff0c;不得用于权证创设的行权履约担保。 七、创设人应当指定两名专业人员为联络人&am…

java web 面包屑,自动面包屑 Headers

我在我的网站上实现了以下脚本 . 它会创建自动化的面包屑 . 我遇到的问题是它产生的 Headers . 对于您当前所在的页面&#xff0c;它会显示页面 Headers &#xff0c;这很好 . 对于索引文件&#xff0c;它使用根文件夹名称而不是页面 Headers &#xff0c;这是我想要它做的 . 举…

(6):Silverlight 2 键盘事件处理

概述 Silverlight 2 Beta 1版本发布了&#xff0c;无论从Runtime还是Tools都给我们带来了很多的惊喜&#xff0c;如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython&#xff0c;对JSON、Web Service、WCF以及Sockets的支持等一系列新的特性。《一步一步学Silverlig…

权证基础知识学习(三)

认股权证的买入时机不论是 股票还是认股权证&#xff0c;投资者都经常会为何时才是买入的最佳时机而困扰&#xff0c;总希望找到一个最佳的时机才肯入市。无疑&#xff0c;能找到一个最佳的入市时机就可以赚尽回报&#xff0c;但究竟什么时候才是最佳买入时机呢&#xff1f;总体…

java 双适配器模式,初识Java设计模式适配器模式

【正文】我们知道&#xff0c;Android中最重要也是最难用的UI控件就是ListView列表控件&#xff0c;而要想灵活运用它&#xff0c;则必须要用到适配器adapter&#xff0c;所以&#xff0c;我觉得还是很有必要来学习一下Java当中的适配器模式(不管以后能不能用到)&#xff0c;毕…

曾经的故乡

1998年的乌鲁木齐&#xff0c;现在已经变得俺都认不得啦。没有机会在她的金色季节回去&#xff0c;只能贴这些老照片&#xff0c;聊慰相思之意。一、妖魔山及乌鲁木齐火车站二、市政府&#xff08;后面是乌鲁木齐电视台的发射塔&#xff09;三、红山及乌鲁木齐——昌吉一级公路…

php 符号怎么用,PHP中基本符号及使用方法

5.批量输出HTML内容&#xff01;echo <<< EOTHTML输出内容。。。//这里注释照样输出&#xff01;EOT;Print <<HTML输出内容。。。//这里注释照样输出&#xff01;EOT;(注意&#xff1a;内部包含变量用“{变量}”)6.判断文件是否存在并且输出内容$FileName"…