📄 koch.m
字号:
function k=koch(x1,y1,x2,y2)
% d为迭代终止的条件
d=0.5;
if (x2-x1)^2+(y2-y1)^2<d % 终止条件
drawline(x1,y1,x2,y2);
else
x3=x1+(x2-x1)/3;
y3=y1+(y2-y1)/3;
x4=x2-(x2-x1)/3;
y4=y2-(y2-y1)/3;
l=sqrt((x4-x3)^2+(y4-y3)^2);
a=alpha(x3,y3,x4,y4);
% 当起始点位于终止点的右方,向上隆起;当起始点位于终止点的左面,向下隆起,所以角a需要再加上pi弧度
% 同时要注意Matlab中三角函数\反三角函数的取值范围
if x2-x1<0
a=a+pi;
end
x5=x3+cos(a+pi/3)*l;
y5=y3+sin(a+pi/3)*l;
koch(x1,y1,x3,y3)
koch(x4,y4,x2,y2)
koch(x3,y3,x5,y5)
koch(x5,y5,x4,y4)
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -