如何绘制分形曲线
绘制Koch分形曲线从一条直线段开始,将线段中间的三分之一部分用一个等边三角形的两边代替,形成山丘形图形如下:
(缺)
在新的图形中,又将图中每一直线段中间的三分之一部分都用一个等边三角形的两条边代替,再次形成新的图形如此迭代,形成koch分形曲线。(缺图)
算法分析:由一条线段产生四条线段,故算法中由n条线段迭代一次后将产生4n条线段。算法针对每一条线段逐步进行,将计算新的三个点。第一个点位于线段三分之一处,第三个点位于线段三分之二处,第二个点以第一个点为轴心,将第一和第三个点形成的向量正向旋转600而得。正向旋转由正交矩阵
实现。
MATLAB程序如下
clear
p=[0 0;10 0];n=1;
A=[cos(pi/3) -sin(pi/3);sin(pi/3) cos(pi/3)];
for k=1:5
j=0;
for i=1:n
q1=p(i,:);
q2=p(i+1,:);
d=(q2-q1)/3;
j=j+1;r(j,:)=q1;
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))
页:
[1]