IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> График функции, +одна геморойная опция
lordpavel
сообщение 24.12.2005 13:52
Сообщение #1





Группа: Пользователи
Сообщений: 3
Пол: Мужской

Репутация: -  0  +


Нарисовать график функции r=f(alpha) в полярных координатах. График должен автоматически масштабироваться таким образом, чтобы он занимал весь экран. Программа должна позволять вращать полученное изображение при помощи клавиш «стрелка влево» и «стрелка вправо». Выход из программы должен осуществляться при помощи клавиши «esc».
Помогите именно с поворотом-я просто не знаю как его делать.

Сообщение отредактировано: lordpavel - 24.12.2005 15:27
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
lordpavel
сообщение 24.12.2005 16:20
Сообщение #2





Группа: Пользователи
Сообщений: 3
Пол: Мужской

Репутация: -  0  +



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.


Вот классический вариант, только непогятно как график поворачивать.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.08.2025 22:21
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"