楼主:阿基米德螺旋线你应该知道吧
以R为半径,转90度,再以2R为半径,转90度,再以4R为半径,转90度。。。。
当然也可以反过来。
写一个算法
R:integer;//半径
alpha:integer;//角度
j:integer;
x,y :integer;//运动轨迹
x0.y0:integer;//原点
x0:=400;
y0:=300;//假设屏幕为600*800
while r<400 do
begin
for j:=0 to 89 do
begin
x:=r*cos((alpha+j)*(3.1415926/180))+x0;
y:=r*sin((alpha+j)*(3.1415926/180))+y0;
end;
alpha:=(alpha+90) mod 360;
case alpha do
0..89:begin
y0:=y0+r;
end;
90..179:begin
x0:=x0+r;
end;
180..269:begin
y0:=y0-r;
end;
270..359:begin
x0:=x0-r;
end;
end;
r:=2*r;
end;//x,y为运动轨迹。试试看吧,以上程序没有上机测试。