Помощь - Поиск - Пользователи - Календарь
Полная версия: График функции
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
lordpavel
Нарисовать график функции r=f(alpha) в полярных координатах. График должен автоматически масштабироваться таким образом, чтобы он занимал весь экран. Программа должна позволять вращать полученное изображение при помощи клавиш «стрелка влево» и «стрелка вправо». Выход из программы должен осуществляться при помощи клавиши «esc».
Помогите именно с поворотом-я просто не знаю как его делать.
volvo
Приказ? Можно бежать, выполнять? dry.gif
lordpavel
Ну зачем всё так опошлять! Просто хотелось бы чтобы хоть кто-нибудь помог.Сам график построить не проблема - проблема в том как его поворачивать.Может кто предложит что unsure.gif
volvo
Ну, если ты приведешь свою реализацию отрисовки графика, то тебе помогут гораздо быстрее...

А вообще, можно попробовать отрисовать тот же график, но угол Phi считать не от нуля, а от того значения, на сколько поворачиваем график...
lordpavel

USES graph,crt;
VAR
x,y:integer;

{**********************}
PROCEDURE grafika_off;
BEGIN
 closegraph;
END;

{**********************}
PROCEDURE grafika_on;
var
 drv,mode:integer;
BEGIN
 drv:=9;
 mode:=2;
 initgraph(drv,mode,'c:\bp\bgi');
END;

{***********************}
PROCEDURE put_grafik;
var
 i,x1,y1,n,m:integer;
 flag:boolean;
BEGIN
 x1:=round(getmaxx/2);
 y1:=round(getmaxy/2);
 n:=-300;
 m:=300;

 setcolor(9);
 line(0,y1,getmaxx,y1);
 line(x1,0,x1,getmaxy);

 flag:=false;
 setcolor(10);
 for i:=n to m do
  begin
   x:=i;
   y:=round(200*sin(0.02*x));
   if flag=false then moveto(x1+x,getmaxy-y1-y);
   flag:=true;
   lineto(x1+x,getmaxy-y1-y);
   delay(40);
  end;
 readln;
END;

{***********************}
BEGIN
 grafika_on;
 put_grafik;
 grafika_off;
END.


Вот классический вариант, только непогятно как график поворачивать.
volvo
Ну, начнем с того, что этот вариант - ДАЛЕКО не классический... Я, например, самой функции F не вижу... Да и где у тебя, собственно, угол Phi (на котором и основана полярная система координат)?

Классический вариант (для построения строфоиды в полярных координатах) приведен здесь: Строфоида, графика

Посмотри, как реализовано там...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.