分形曲线及matlable算法

合集下载

matlab多重分形谱算法

matlab多重分形谱算法

matlab多重分形谱算法
MATLAB中的多重分形谱算法是一种用于分析信号和图像的技术,它可以帮助我们理解复杂系统的结构和特征。

多重分形谱算法通常
用于测量信号或图像的分形维度,以及它们的分形特征。

下面我将
从多个角度来解释MATLAB中的多重分形谱算法。

首先,多重分形谱算法可以用于计算信号或图像的分形维度。

分形维度是一种描述信号或图像自相似性的度量,它可以帮助我们
理解信号或图像的复杂性和规律性。

在MATLAB中,我们可以使用多
重分形谱算法来计算信号或图像的分形维度,从而得到关于其结构
和特征的信息。

其次,多重分形谱算法可以用于分析信号或图像的分形特征。

通过计算信号或图像的分形谱,我们可以得到关于其分形特征的信息,比如分形维度的分布情况、分形特征的变化趋势等。

这些信息
可以帮助我们理解信号或图像的复杂性和规律性,从而为进一步的
分析和处理提供参考。

此外,MATLAB中的多重分形谱算法还可以用于处理不同类型的
信号和图像。

无论是一维的时间序列信号还是二维的图像数据,多
重分形谱算法都可以进行分形维度和分形特征的计算,从而帮助我们理解不同类型数据的结构和特征。

总的来说,MATLAB中的多重分形谱算法是一种强大的工具,可以帮助我们分析信号和图像的分形特征,从而揭示其复杂性和规律性。

通过对多重分形谱算法的理解和应用,我们可以更好地理解和处理各种类型的数据。

matlable软件的使用和教程

matlable软件的使用和教程

MATLAB百科名片MATLAB软件界面图MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks 公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

目录基本功能应用发展历程新版本新功能特点优势工具基本功能应用展开编辑本段基本功能MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB和Mathematica、Maple并称为三大数学软件。

它在数学类科技应用软件中在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连matlab开发工作界面接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。

可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

编辑本段应用MATLAB 产品族可以用来进行以下各种工作:● 数值分析● 数值和符号计算● 工程与科学绘图● 控制系统的设计与仿真● 数字图像处理技术● 数字信号处理技术● 通讯系统设计与仿真MATLAB在通讯系统设计与仿真的应用● 财务与金融工程MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。

几个分形的matlab实现资料

几个分形的matlab实现资料

几个分形的matlab 实现摘要:给出几个分形的实例,并用matlab 编程实现方便更好的理解分形,欣赏其带来的数学美感关键字:Koch 曲线 实验 图像一、问题描述:从一条直线段开始,将线段中间的三分之一部分用一个等边三角形的两边代替,形成山丘形图形如下图1在新的图形中,又将图中每一直线段中间的三分之一部分都用一个等边三角形的两条边代替,再次形成新的图形如此迭代,形成Koch 分形曲线。

二、算法分析:考虑由直线段(2个点)产生第一个图形(5个点)的过程。

图1中,设1P 和5P 分别为原始直线段的两个端点,现需要在直线段的中间依次插入三个点2P ,3P ,4P。

显然2P 位于线段三分之一处,4P 位于线段三分之二处,3P 点的位置可看成是由4P点以2P 点为轴心,逆时针旋转600而得。

旋转由正交矩阵 ⎪⎪⎪⎪⎭⎫ ⎝⎛-=)3cos()3sin()3sin()3cos(ππππA 实现。

算法根据初始数据(1P 和5P 点的坐标),产生图1中5个结点的坐标。

结点的坐标数组形成一个25⨯矩阵,矩阵的第一行为1P 的坐标,第二行为2P 的坐标……,第五行为5P 的坐标。

矩阵的第一列元素分别为5个结点的x 坐标,第二列元素分别为5个结点的y 坐标。

进一步考虑Koch 曲线形成过程中结点数目的变化规律。

设第k 次迭代产生的结点数为k n ,第1+k 次迭代产生的结点数为1+k n ,则k n 和1+k n 中间的递推关系为341-=+k k n n 。

三、实验程序及注释:p=[0 0;10 0]; %P为初始两个点的坐标,第一列为x坐标,第二列为y坐标n=2; %n为结点数A=[cos(pi/3) -sin(pi/3);sin(pi/3) cos(pi/3)]; %旋转矩阵for k=1:4d=diff(p)/3; %diff计算相邻两个点的坐标之差,得到相邻两点确定的向量%则d就计算出每个向量长度的三分之一,与题中将线段三等分对应 m=4*n-3; %迭代公式q=p(1:n-1,:); %以原点为起点,前n-1个点的坐标为终点形成向量p(5:4:m,:)=p(2:n,:); %迭代后处于4k+1位置上的点的坐标为迭代前的相应坐标 p(2:4:m,:)=q+d; %用向量方法计算迭代后处于4k+2位置上的点的坐标p(3:4:m,:)=q+d+d*A'; %用向量方法计算迭代后处于4k+3位置上的点的坐标p(4:4:m,:)=q+2*d; %用向量方法计算迭代后处于4k位置上的点的坐标n=m; %迭代后新的结点数目endplot(p(:,1),p(:,2)) %绘出每相邻两个点的连线axis([0 10 0 10])四、实验数据记录:由第三部分的程序,可得到如下的Koch分形曲线:图2五、注记:1.参照实验方法,可绘制如下生成元的Koch 分形曲线:图3此时,旋转矩阵为:⎪⎪⎭⎫ ⎝⎛-=⎪⎪⎪⎪⎭⎫ ⎝⎛-=0110)2cos()2sin()2sin()2cos(ππππA 程序和曲线如下:p=[0 0;10 0]; %P 为初始两个点的坐标,第一列为x 坐标,第二列为y 坐标n=2; %n 为结点数A=[0 -1;1 0]; %旋转矩阵for k=1:4d=diff(p)/3; %diff 计算相邻两个点的坐标之差,得到相邻两点确定的向量%则d 就计算出每个向量长度的三分之一,与题中将线段三等分对应 m=5*n-4; %迭代公式q=p(1:n-1,:); %以原点为起点,前n-1个点的坐标为终点形成向量p(6:5:m,:)=p(2:n,:); %迭代后处于5k+1位置上的点的坐标为迭代前的相应坐标 p(2:5:m,:)=q+d; %用向量方法计算迭代后处于5k+2位置上的点的坐标 p(3:5:m,:)=q+d+d*A'; %用向量方法计算迭代后处于5k+3位置上的点的坐标 p(4:5:m,:)=q+2*d+d*A'; %用向量方法计算迭代后处于5k+4位置上的点的坐标 p(5:5:m,:)=q+2*d; %用向量方法计算迭代后处于5k 位置上的点的坐标n=m; %迭代后新的结点数目endplot(p(:,1),p(:,2)) %绘出每相邻两个点的连线axis([0 10 0 10])图4由于中间三分之一部分是一个正方形时,有很多连接的部分。

MATLAB环境下图像分形维数的计算

MATLAB环境下图像分形维数的计算
根据图像计盒维数的计算过程,编写程序对二 值图进行网格划分与统计(程序流程见图1),可以 得到一系列“网格大小”与相应“覆盖网格数”的数 据对,即子矩阵阶数与包含图像点(像素点为o)的 子矩阵个数的数据对;然后在双对数坐标系下绘出 数据点,进行线性回归分析,如能得到一条线性相 关的直线,直线斜率的负值即为图像的计盒维 数.
也有采用递减序列进行像素点覆盖,递减序列 的构造有多种方法,普遍使用的是二等分序列,也 就是将图像逐次二等分.所采用的序列的最大值都 将取决于图像的大小.网格的最小值始终为1,这 是划分网格的极限.
根据分形维数的定义,块的尺寸越小,计算出 的图像的维数越精确,但对于存储在计算机内的分 形图像,只能分割到像素点尺寸,就不能再继续分 割下去了.因此,当讨论图像的分形性质时,可以取 一个像素点的尺寸作为尺度下限,为了避免奇异情 形的发生,在计算分形维数的过程中,要求有适当 多的测试点,至于尺度上限可根据具体情况和具体 要求进行确定.
(1.中国矿业大学资源与安全工程学院,北京100083;2.中原工学院数理系,河南郑州450007)
摘要:利用MATLAB的图像处理和数值计算功能,对大气可吸入颗粒物的场发射电镜
(FESEM)图像进行处理,得到颗粒物边界的二值图像;编制MATLAB程序,统计一系列以不同
像素数量为边长的正方形块覆盖二值图像时的个数,根据像素数量和正方形块个数之间的关系,
确定图像的计盒维数.结果表明:MATLAB对分形图像的处理简单、方便,通过科赫曲线、谢宾
斯基填料等有规分形图形分形维数的计算表明该方法计算出的结果准确、可靠.对大气颗粒物的
分形维数的计算表明,不同不规则程度的颗粒物有不同的分形维数,可以通过颗粒物分形维数的
计算分析颗粒物的来源和输运过程.

曲线分段 matlab

曲线分段 matlab

曲线分段 matlab介绍在数学和计算机科学的领域中,曲线分段是一种常见的技术。

在matlab中,我们可以使用不同的方法来实现曲线分段。

本文将介绍曲线分段的概念、matlab中的实现方法以及一些实际应用。

概念曲线分段是将一个连续的曲线分割成多个段的过程。

每个段都可以用一个简单的函数或模型来表示。

这种分段的方法可以使得对复杂曲线的处理更加简单和高效。

matlab中的实现方法在matlab中,有几种常见的方法可以实现曲线分段。

下面将介绍其中的几种方法。

1. 多项式拟合多项式拟合是一种常见的曲线拟合方法。

在matlab中,可以使用polyfit函数来进行多项式拟合。

通过选择适当的多项式阶数,可以将曲线拟合成多个段的形式。

2. 样条插值样条插值是一种通过一系列节点来近似曲线的方法。

在matlab中,可以使用interp1函数进行样条插值。

通过选择适当的节点和插值方法,可以将曲线分割成多个段。

3. 分段线性插值分段线性插值是一种简单而有效的曲线分段方法。

在matlab中,可以使用interp1函数的'linear'方法进行分段线性插值。

通过选择适当的节点,可以将曲线分割成多个线性段。

实际应用曲线分段在许多领域中都有广泛的应用。

下面将介绍几个实际应用的例子。

1. 图像处理在图像处理中,曲线分段可以用于图像的边缘检测和分割。

通过将图像中的曲线分割成多个段,可以更好地提取出图像中的边缘信息。

2. 机器学习在机器学习中,曲线分段可以用于特征提取和模式识别。

通过将复杂的曲线分割成多个简单的段,可以更好地表示和处理数据。

3. 金融分析在金融分析中,曲线分段可以用于股票价格的预测和趋势分析。

通过将股票价格曲线分割成多个段,可以更好地捕捉股票市场的波动和趋势。

总结曲线分段是一种常见的技术,可以将复杂的曲线分割成多个简单的段。

在matlab 中,可以使用多项式拟合、样条插值和分段线性插值等方法来实现曲线分段。

分形图之matlab实现

分形图之matlab实现

分形图之matlab实现1. Mandelbrot集function Mandelbrot(res,iter,xc,yc,xoom)%Mandelbrot% res是目标分辨率,iter是循环次数,(xc,yc)是图像中心,xoom是放大倍数x0=xc-2/xoom;x1=xc+2/xoom;y0=yc-2/xoom;y1=yc+2/xoom;x=linspace(x0,x1,res);y=linspace(y0,y1,res);[xx,yy]=meshgrid(x,y);z=xx+yy*1i;C=z;N=zeros(res,res); %初始化N,最终根据N,对各点进行染色tic %显示tic和toc间的程序运行时间for k=1:iterz=z.^2+C; %对空间上每点都进行迭代N(abs(z)>4)=k; %逃逸半径为4,诺某点逃逸,记录逃逸时间k,未逃逸则时间为0 z(abs(z)>4)=0;C(abs(z)>4)=0;endimshow(N,[]);tocend>>Mandelbrot(512,100,0,0,1)>>Mandelbrot(512,128,-1.478,0,300)2.Julia集function Julia(c,res,iter,xc,yc,xoom)%Julia集%c为参数, res是目标分辨率,iter是循环次数,(xc,yc)是图像中心,xoom是放大倍数x0=xc-2/xoom;x1=xc+2/xoom;y0=yc-2/xoom;y1=yc+2/xoom;x=linspace(x0,x1,res);y=linspace(y0,y1,res);[xx,yy]=meshgrid(x,y);z=xx+yy*1i;N=zeros(res,res);C=c*ones(res,res);for k=1:iterz=z.^2+C;N(abs(z)>2)=k;C(abs(z)>2)=0;z(abs(z)>2)=0;endcolormap jet;image(x,y,N);axis square;end>>Julia(i,512,200,0,0,1)>> Julia(i,512,200,0,0,2000)>>Julia(0.1+0.7i,512,200,0,0,1)>>Julia(-0.8-0.21i,512,200,0,0,1)。

matlable软件的使用和教程

matlable软件的使用和教程

MATLAB百科名片MATLAB软件界面图MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

目录发展历程新版本新功能特点优势工具展开编辑本段基本功能MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB和Mathematica、Maple并称为三大数学软件。

它在数学类科技应用软件中在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连matlab开发工作界面接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。

可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

编辑本段应用MATLAB 产品族可以用来进行以下各种工作:● 数值分析● 数值和符号计算● 工程与科学绘图● 控制系统的设计与仿真● 数字图像处理技术● 数字信号处理技术● 通讯系统设计与仿真MATLAB在通讯系统设计与仿真的应用● 财务与金融工程MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。

第7章分形维数应用与MATLAB实现

第7章分形维数应用与MATLAB实现

第7章分形维数应用与MATLAB实现分形维数是描述分形结构复杂性的一个重要指标,通过分形维数可以对分形物体的几何特征进行度量。

分形维数的应用十分广泛,可以应用于自然科学、工程技术、生物医学等多个领域。

在自然科学中,分形维数被广泛应用于地理地貌、气象学、流体力学等领域。

例如,在地理地貌中,通过计算地形的分形维数可以揭示地形的形态特征,如地表的复杂程度、地面的起伏程度等。

在气象学中,通过计算云雾的分形维数可以揭示云雾的形态特征,如云雾的密度、结构等。

在流体力学中,通过计算流体流动的分形维数可以揭示流体流动的特征,如流体流动的无规则性、混沌性等。

在工程技术中,分形维数被广泛应用于图像处理、信号处理、网络优化等领域。

例如,在图像处理中,通过计算图像的分形维数可以对图像进行压缩、去噪等操作,提高图像的质量和处理效率。

在信号处理中,通过计算信号的分形维数可以对信号进行分析和识别,提取出信号的特征信息。

在网络优化中,通过计算网络的分形维数可以对网络结构进行优化,提高网络的传输和通信效率。

在生物医学中,分形维数被广泛应用于医学图像处理、疾病诊断、脑信号分析等领域。

例如,在医学图像处理中,通过计算病理图像的分形维数可以对病灶的形态特征进行量化,帮助医生进行病症的诊断和分析。

在疾病诊断中,通过计算生物信号(如心电图、脑电图等)的分形维数可以对疾病的发展和变化进行监测和分析,提供辅助诊断的依据。

MATLAB作为一种专门用于科学计算和数据可视化的工具,可以很方便地实现分形维数的计算和分析。

MATLAB提供了丰富的数学工具箱和图形工具箱,可以实现各种分形维数的算法和可视化方法。

通过调用相关函数和工具,用户可以快速、准确地计算和分析分形维数,并可视化展示分形结构的特征。

总之,分形维数在科学研究和工程应用中具有重要的作用。

通过应用分形维数,可以深入了解和揭示物体的几何特征和复杂性,为科学研究、工程技术和生物医学提供有效的分析工具和方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0 koch 分形曲线在线演示 从一条直线段开始,将线段中间的三分之一部分用一个等边三角形的两边代替,形成山丘形图形如下
在新的图形中,又将图中每一直线段中间的三分之一部分都用一个等边三角形的两条边代替,再次形成 新的图形如此迭代,形成 koch 分形曲线。
算法分析:由一条线段产生四条线段,故算法中由 n 条线段迭代一次后将产生 4n 条线段。算法针对每 一条线段逐步进行,将计算新的三个点。第一个点位于线段三分之一处,第三个点位于线段三分之二处, 第二个点以第一个点为轴心,将第一和第三个点形成的向量正向旋转 60 0 而得。正向旋转由正交矩阵
for(j=1;j<l;j++) {if(a[j]==a[j+1]&&b[j]==b[j+1]) { g=j; for(;j<l;j++) {a[j]=a[j+1]; b[j]=b[j+1]; } j=g+1;
}
} y=l; for(f=1;f<=y;f++) {c[f]=a[f]; d[f]=b[f]; } } n=4*n; }
2------------------------------------i=2; k=1; _root.fenxing.onEnterFrame=function() { with(_root.fenxing) {for(;i<=k*10&&i<=m;) { lineStyle(1,0x000000,100); moveTo(a[i-1],400-b[i-1]); lineTo(a[i],400-b[i]); trace(i); trace(a[i]); trace(b[i]); i++; }k++; if(i==m+1){
n=m;
end
plot(p(:,1),p(:,2))
flash 制作原代码 1---------------------------------------_root.createEmptyMovieClip("fenxing",1); a=new Array(1025); b=new Array(1025); c=new Array(1025); d=new Array(1025); e=new Array(1025); f=new Array(1025); a[1]=100; b[1]=100; a[2]=500; b[2]=100; n=2; for(k=1;k<=4;k++) {with(_root.fenxing) {for(w=1;w<n;w++) {c[w]=(a[w+1]-a[w])/3; d[w]=(b[w+1]-b[w])/3; }//微分 d m=5*n-4; for(z=1;z<=n;z++) { e[z]=a[z]; f[z]=b[z]; }//差距 q h=2; for(g=6;g<=m;g=g+5) {if(h<=n) a[g]=e[h]; b[g]=f[h]; h++ } z=1; w=1; for(g=2;g<=m;g=g+5) {a[g]=e[z]+c[w]; b[g]=f[z]+d[w]; z++;
2 矩形分形曲线 2 在线演示 顶部
p=[0 0;10 0];n=2; A=[0 -1;1 0]; for k=1:4 d=diff(p/3);m=5*n-4; q=p(1:n-1,:); p(6:5:m,:)=p(2:n,:); p(2:5:m,:)=q+d; p(3:5:m,:)=q+d+.7*d*A'; p(4:5:m,:)=q+2*d+.7*d*A'; p(5:5:m,:)=q+2*d; n=m;
} z=1; w=1; for(g=3;g<=m;g=g+5) {a[g]=e[z]+c[w]-0.7*d[w]; b[g]= f[z]+d[w]+0.7*c[w]; z++; w++; } z=1; w=1; for(g=4;g<=m;g=g+5) {a[g]=e[z]+2*c[w]-0.7*d[w]; b[g]= f[z]+2*d[w]+0.7*c[w]; z++; w++; } z=1; w=1; for(g=5;g<=m;g=g+5) {a[g]=e[z]+2*c[w]; b[g]=f[z]+2*d[w]; z++; w++; } } n=m; }
{ for(k=1;k<=n;k++) {x1=c[k]; y1=d[k]; x2=c[k+1]; y2=d[k+1]; j=j+1; a[j]=x1; b[j]=y1; j=j+1; a[j]=x1+(x2-x1)/3; b[j]=y1+(y2-y1)/3; j=j+1; a[j]=x1+(x2-x1)/3+((x2-x1)/3)*Math.cos(Math.PI/3)-((y2-y1)/3)*Math.sin(Math.PI/3); b[j]=y1+(y2-y1)/3+((x2-x1)/3)*Math.sin(Math.PI/3)+((y2-y1)/3)*Math.cos(Math.PI/3); j=j+1; a[j]=x1+2*(x2-x1)/3; b[j]=y1+2*(y2-y1)/3; j=j+1; a[j]=x2; b[j]=y2; l=j; }
end
plot(p(:,1),p(:,2))
flash 制作原代码 1-----------------------------_root.createEmptyMovieClip("fenxing",1); a=new Array(1025); b=new Array(1025); c=new Array(1025); d=new Array(1025); e=new Array(1025); f=new Array(1025); a[1]=100; b[1]=100; a[2]=500; b[2]=100; n=2; for(k=1;k<=4;k++) {with(_root.fenxing) {for(w=1;w<n;w++) {c[w]=(a[w+1]-a[w])/3; d[w]=(b[w+1]-b[w])/3; }//微分 d m=5*n-4; for(z=1;z<=n;z++) { e[z]=a[z]; f[z]=b[z]; }//差距 q h=2; for(g=6;g<=m;g=g+5) {if(h<=n) a[g]=e[h]; b[g]=f[h]; h++ } z=1; w=1; for(g=2;g<=m;g=g+5) {a[g]=e[z]+c[w]; b[g]=f[z]+d[w]; z++; w++;
j=j+1;r(j,:)=q1+d;
j=j+1;r(j,:)=q1+d+d*A';
j=j+1;r(j,:)=q1+2*d;
end
n=4*n;clear p
p=[r;q2];
end
plot(p(:,1),p(:,2)) koch 分形图片 flash 制作源代码 第一祯 die=4; bi=1 color=0x000000 alpha=100 stop(); 第二祯 _root.createEmptyMovieClip("koch",1); a=new Array(1025); b=new Array(1025); c=new Array(1025); d=new Array(1025); l=0; n=1; a[1]=100; b[1]=200; a[2]=500; b[2]=200; c[1]=100; d[1]=200; c[2]=500; d[2]=200; for(m=1;m<=die;m++) {j=0; with(_root.koch)
w++; } z=1; w=1; for(g=3;g<=m;g=g+5) {a[g]=e[z]+c[w]-1*d[w]; b[g]= f[z]+d[w]+1*c[w]; z++; w++; } z=1; w=1; for(g=4;g<=m;g=g+5) {a[g]=e[z]+2*c[w]-1*d[w]; b[g]= f[z]+2*d[w]+1*c[w]; z++; w++; } z=1; w=1; for(g=5;g<=m;g=g+5) {a[g]=e[z]+2*c[w]; b[g]=f[z]+2*d[w]; z++; w++; } } n=m; } 2----------------------------------------i=2; k=1; _root.fenxing.onEnterFrame=function() { with(_root.fenxing) {for(;i<=k*10&&i<=m;) {lineStyle(1,0x000000,100); moveTo(a[i-1],400-b[i-1]); lineTo(a[i],400-b[i]); trace(i); trace(a[i]); trace(b[i]); i++; } k++;
相关文档
最新文档