Построить лемнискату — кривую, уравнение которой в полярных координатах - Pascal ABC

Формулировка задачи:

Нужен код задачи что на картинке. Буду очень признателен! http://www.cyberforum.ru/attachment....1&d=1445798510

Код к задаче: «Построить лемнискату — кривую, уравнение которой в полярных координатах - Pascal ABC»

textual
uses graphABC;
var x0,y0,i,x,y:integer;
    r,a,m,f:real;
    s:string;
begin
a:=2;
x0:=windowwidth div 2;
y0:=windowheight div 2;
m:=(x0-50)/(a*sqrt(2));
line(0,y0,2*x0,y0);
line(x0,0,x0,2*y0);
for i:=1 to 2*(trunc(a*sqrt(2))+1) do
 begin
  line(x0+round(i*m/2),y0-3,x0+round(i*m/2),y0+3);
  line(x0-round(i*m/2),y0-3,x0-round(i*m/2),y0+3);
  line(x0+3,y0-round(i*m/2),x0-3,y0-round(i*m/2));
  line(x0+3,y0+round(i*m/2),x0-3,y0+round(i*m/2));
  str(i/2:0:1,s);
  textout(x0+round(i*m/2),y0+10,s);
  textout(x0-round(i*m/2),y0+10,'-'+s);
  textout(x0-20,y0-round(i*m/2),s);
  textout(x0-25,y0+round(i*m/2),'-'+s);
 end;
f:=0;
while f<=2*pi do
 begin
  if cos(2*f)>=0 then
   begin
    r:=a*sqrt(2*cos(2*f));
    x:=x0+round(r*cos(f)*m);
    y:=y0-round(r*sin(f)*m);
    setpixel(x,y,clRed);
   end;
  f:=f+0.001;
 end;
end.

15   голосов, оценка 3.667 из 5


СОХРАНИТЬ ССЫЛКУ
Похожие ответы