R=100;
x1=0;
y1=R;
d(1)=1-R;
x(1)=x1;
y(1)=y1;
n=1;
% 中點在園內,應該取上面那個點
% 代表d>0 中點在圓外,應該取下面那個點
while x<y
if d(n)<0
x(n+1) = x(n)+1;
y(n+1) = y(n);
d(n+1) = d(n)+2*x(n)+3;
else
x(n+1)=x(n)+1;
y(n+1)=y(n)-1;
d(n+1)=d(n)+2*(x(n)-y(n))+5;
end
n=n+1;
end
% 使用循環 畫 一 二 三 四象限
for j =1:8
if j==1
for i = 1:n
plot(x, y);
end
for i=1:n
x2=y;
y2=x;
end
elseif j==2
%
for i=1:n
plot(x2,y2);
end
for i=1:n
x3=-y;
y3=x;
end
%
elseif j==3
%
for i=1:n
plot(x3,y3)
end
for i=1:n
x4=-x;
y4=y;
end
%
elseif j==4
%
for i=1:n
plot(x4,y4)
end
for i=1:n
x5=-x;
y5=-y;
end
%
elseif j==5
%
for i=1:n
plot(x5,y5)
end
for i=1:n
x6=-y;
y6=-x;
end
%
elseif j==6
%
for i=1:n
plot(x6,y6)
end
for i=1:n
x7=y;
y7=-x;
end
%
elseif j==7
%
for i=1:n
plot(x7,y7)
end
for i=1:n
x8=x;
y8=-y;
end
%
elseif j==8
%
for i=1:n
plot(x8,y8)
end
%
end
hold on;
end
得到結果: