对于我的学生项目,我需要创建 pascalABC.NET 程序,在笛卡尔和极坐标系中制作外轮线图。我为笛卡尔系统编写了一些简单的代码,它似乎工作得很好,我现在如何将它转换为极坐标系?我可以在这个程序中使用极坐标系中的外旋轮线的数学方程吗?希望有人能帮助我:)
我为笛卡尔系统编写的代码:
uses graphABC;
var c,x,y:integer;
r1,r2,m,h,t,ms:real;
begin
setwindowsize(500,500);
centerwindow;
c:=250;
r1:=1;
r2:=0.2;
m:=r2/r1;//m=0.2
h:=0.3;
ms:=(c-50)/(r1+2*r2);
setpenwidth(2);
setpencolor(clGreen);
circle(c,c,round(r1*ms));
setpencolor(clRed);
t:=0;
while t<=360 do
begin
x:=c+round((r1*(m+1)*cos(m*t)-h*cos((m+1)*t))*ms);
y:=c-round((r1*(m+1)*sin(m*t)-h*sin((m+1)*t))*ms);
if t=0 then moveto(x,y) else lineto(x,y);
t:=t+0.1;
end;
end.