%********************************************************************/
%* 科学计算:分形几何_随机科赫雪花 */
%* 挑灯看剑-shuchangs@126.com 2010-5 */
%* 云歌国际(Cloud Singers International) www.cocoral.com */
%********************************************************************/
function RandKoch
k=3; %Koch曲线的迭代次数
p=[0 0;10 0]; %存放结点坐标,每行一个点,初始值为两节点的坐标
n=1; %存放线段的数量,初始值为1
AU=[cos(pi/3) sin(pi/3);-sin(pi/3) cos(pi/3)]; %计算新的节点,向外(上)生长
AD=[cos(pi/3) -sin(pi/3);sin(pi/3) cos(pi/3)]; %计算新的节点,向里(下)生长
c=1;%图像序号计数器
for s=1:k %计算所有的节点坐标
j=0;
for i=1:n %每条边计算一次,每条边会新增3个点
q1=p(i,:); %目前线段的起点坐标
disp('目前线段的起点坐标');disp(q1);
q2=p(i+1,:); %目前线段的终点坐标
disp('目前线段的终点坐标');disp(q2);
d=(q2-q1)/3;
j=j+1;r(j,:)=q1; %原起点存入r
disp('起点坐标(x,y)');disp(r(j,:));
%***************************************
j=j+1;r(j,:)=q1+d; %新1点存入r
disp('新1点坐标(x,y)');disp(r(j,:));
%***************************************
%---------------------------------------
%选择变换矩阵
if coinTest()==1
A=AU;
elseif coinTest()==-1
A=AD;
end
disp('向量d阵[1*2]为');disp(d);
disp('向量d的变换阵:A阵[2*2]');disp(A);
disp('d*A阵[1*2]');disp(d*A);
%显示向量d的变换过程图
%dM=[0 0;d];
%dT=[0 0;d*A];
%subplot(5,2,c),plot(dM(:,1),dM(:,2)),title('向量d'),
%subplot(5,2,c+1),plot(dT(:,1),dT(:,2)),title('变换后的向量d');
%c=c+2;
%pause(2);%延迟2秒
j=j+1;r(j,:)=q1+d+d*A;%新2点存入r
disp('新2点坐标(x,y)');disp(r(j,:));
%---------------------------------------
%***************************************
j=j+1;r(j,:)=q1+2*d; %新3点存入r
disp('新3点坐标(x,y)');disp(r(j,:));
%***************************************
disp('暂存坐标点(x,y)');disp(r);
disp('*********************************')
end
n=4*n;
clear p
p=[r;q2];
end
plot(p(:,1),p(:,2));
disp('科赫曲线坐标+--x--+--y--+');disp(p);
axis equal
end
%定义选择1或-1函数
function rtnV=coinTest() %抛币试验函数,返回值为1(正)或-1(反)
x=rand;
if x<0.5
rtnV=-1;
elseif x>0.5
rtnV=1;
else
rtnV=coinTest();
end
end
运行结果测试如下:
- 大小: 11.5 KB
分享到:
相关推荐
分形几何_数学基础及其应用 useful for gradulate students in department mathematics
分形几何的matlab代码的一个小栗子。上课的一个作业。
该程序用来检验monte carlo随机数的分布是否满足随机性要求,
计算输入图片的分形维数;图片需为jpg的格式;程序通用性强;十分好用;
用迭代函数ifs画分形几何,非常有用,可以仿真画自然界的几何事物
有效的解决读者对于分形理论的模糊印象,通过大量的实例通透的讲解了分形几何的特征及性质。
用matlab软件计算分形维数的算法,可算出图像的分形维度
分形几何中关联维数的计算,用来计算时间序列的数据
分形计算,给出了分形计算的源代码matlab程序,可以迅速帮助大家进行分形的分析与计算,参数容易设置。
使用matlab语言,编写一个计算图像分形维数的小程序
对输入的信号计算其的分形维数,用以判断信号的复杂度
计算分形维数
分形的一些程序,包含基于分形的图像压缩及重建
雷达功能仿真程序,有需要的可以看一看,有什么问题及时联系
采用扩散限制粘贴(DLA)方法生成随机分形,即DLA集团,并计算分形的维数。
对电磁波入射的源为偶极子进行仿真,可以z作为其他电磁仿真问题
确定性机械手的PD+前馈控制的S函数的控制程序,
给出了矩形域上分形插值数学模型,分形插值曲面...运用少量已知数据值,模拟出粗糙表面,这对于直观显示复杂物体的几何形态,研究具有分形特征的地形地貌、断层表面和材料裂隙表面,具有重要的理论意义和实用价值。 更多还原
分形几何学是一门以不规则几何形态为研究对象的几何学。相对于传统几何学的研究对象为整数维数,如,零维的点、一维的线、二维的面、三维的立体乃至四维的时空。分形几何学的研究对象为非负实数维数,如0.63、1.58、...