matlab 雪花koch 这个程序哪儿错了、、?function koch(p,q,n)if (n==0)plot([p(1);q(1)],[p(2);q(2)]);hold on;elsec = q-p;c = [-c(2);c(1)];c = (p+q)/2+c/sqrt(12); % 求出「向左侧翘起 1/3」的顶点座标向量 ca = (2*p+q)/3; % 求出
来源:学生作业帮助网 编辑:六六作业网 时间:2024/09/08 01:04:19
matlab 雪花koch 这个程序哪儿错了、、?function koch(p,q,n)if (n==0)plot([p(1);q(1)],[p(2);q(2)]);hold on;elsec = q-p;c = [-c(2);c(1)];c = (p+q)/2+c/sqrt(12); % 求出「向左侧翘起 1/3」的顶点座标向量 ca = (2*p+q)/3; % 求出
matlab 雪花koch 这个程序哪儿错了、、?
function koch(p,q,n)
if (n==0)
plot([p(1);q(1)],[p(2);q(2)]);
hold on;
else
c = q-p;
c = [-c(2);c(1)];
c = (p+q)/2+c/sqrt(12); % 求出「向左侧翘起 1/3」的顶点座标向量 c
a = (2*p+q)/3; % 求出从 p 到 q 的 1/3 处端点座标向量 a
b = (p+2*q)/3; % 求出从 p 到 q 的 2/3 处端点座标向量 b
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
我算着没错啊、、
matlab 雪花koch 这个程序哪儿错了、、?function koch(p,q,n)if (n==0)plot([p(1);q(1)],[p(2);q(2)]);hold on;elsec = q-p;c = [-c(2);c(1)];c = (p+q)/2+c/sqrt(12); % 求出「向左侧翘起 1/3」的顶点座标向量 ca = (2*p+q)/3; % 求出
能画出来啊:)
如果觉得样子不对,可能是因为xy比例的原因,可以axis equal解决
如果是报错了,请检查输入格式
如果很久都没跑出来,n就不要超过5了