数学实验报告:分形迭代 练习1 1
实验目的:绘制分形图案并分析其特点
实验内容:绘制Koch 曲线、Sierpinski 三角形和树木花草图形,观察这些图形的局部和原来分形图形的关系
实验思路:利用函数反复调用自己来模拟分形构造时的迭代过程,当迭代指标 n 为 0 时运行作图操作,否则继续迭代
实验步骤: (1)Koch 曲线 fu nction koch(p,q,n) % p、q 分别为 koch 曲线的始末复坐标,n 为迭代次数 if (n==0) plot([real(p);real(q)],[imag(p);imag(q)]); hold on; ax is equ al else a=(2*p+q)/3; % 求出从 p 到 q 的 1/3 处端点 a b=(p+2*q)/3; % 求出从 p 到 q 的 2/3 处端点 b c=a+(b-a)*ex p(pi*i/3);% koch(p, a, n-1); % 对 pa 线段做下一回合 koch(a, c, n-1); % 对 ac 线段做下一回合 koch(c, b, n-1); % 对 cb 线段做下一回合 koch(b, q, n-1); % 对 bq 线段做下一回合 end (2)Sierpinski 三角形 fu nction sierpinski(a,b,c,n) % a、b、c 为三角形顶点,n 为迭代次数 if (n==0) fill([real(a) real(b) real(c)],[imag(a) imag(b) imag(c)],'b');% 填充三角形abc hold on; ax is equ al else a1=(b+c)/2; b1=(a+c)/2; c1=(a+b)/2; sierpinski(a,b1,c1,n-1); sierpins