Построить эпитрохоиду по заданным в параметрическом виде уравнениям: — Pascal(Паскаль)

x=5/4*R*cos(t/4) - a*Cos(5t/4);
y=5/4*R*sin(t/4) - a*sin(5t/4),
где a > R/4, t є [0,8pi]
uses crt,graph;
var r,xc,yc,x1,y1:integer;
    a,x,y,t:real;
    s,s1:string;
begin
clrscr;
repeat
write('Vvedite radius [20..120] r=');
readln(r);
until r in [20..120];
repeat
write('Vvedite parametr a >',r/4:0:2,' a=');
readln(a);
until a>r/4;
xc:=0;
initgraph(xc,yc,'');
xc:=getmaxX div 2;
yc:=getmaxY div 2;
line(0,yc,2*xc,yc);
line(xc,0,xc,2*yc);
t:=0;
while t<=8*pi do
 begin
  x:=5*r*cos(t/4)/4-a*cos(5*t/4);
  y:=5*r*sin(t/4)/4-a*sin(5*t/4);
  x1:=xc+round(x);
  y1:=yc-round(y);
  putpixel(x1,y1,12);
  t:=t+0.001;
 end;
setcolor(10);
outtextXY(450,20,'Epytrohoida');
outtextXY(450,40,'x=5/4Rcos(t/4)-acos(5t/4)');
outtextXY(450,60,'y=5/4Rsin(t/4)-asin(5t/4)');
str(r,s);
str(a:0:1,s1);
outtextXY(450,80,'pri r='+s+'  a='+s1);
readln
end.

Leave a Comment

1 + 7 =