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

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

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

 
 Ответить  Открыть новую тему 
> Графика на паскале
numb86
сообщение 17.10.2006 19:27
Сообщение #1





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

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


Народ помогите пожалуйста надо нарисовать на паскале самолет летящий по синусоиде!

Сообщение отредактировано: numb86 - 17.10.2006 19:28
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 17.10.2006 19:32
Сообщение #2


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


Сам что-то пробовал?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
numb86
сообщение 17.10.2006 19:52
Сообщение #3





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

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


да но у меня пока он только по диагонале летит
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 17.10.2006 20:08
Сообщение #4


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


выкладывай код.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
numb86
сообщение 17.10.2006 20:40
Сообщение #5





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

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


Код
uses Graph,crt;

var
driver,mode,x,y,i:integer;


procedure samolet;
begin
linerel(30,0);
linerel(-10,-10);
linerel(0,-20);
linerel(30,0);
linerel(-30,-15);
linerel(0,-15);
linerel(-5,-5);
linerel(-5,5);
linerel(0,15);
linerel(-30,15);
linerel(30,0);
linerel(0,20);
linerel(-10,10);
end;


begin
driver:=detect;
mode:=detect;
initgraph(driver,mode,'c:\bp\bgi');
moveto(400,280);
for i:=1 to 200 do
begin
moverel(1,1);
setcolor(3);
samolet;
Delay(3000);
setcolor(0);
samolet;
end;


readln;
end.


Сообщение отредактировано: volvo - 17.10.2006 20:40
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 17.10.2006 20:47
Сообщение #6


Гость






Чтобы ОНО "летело" по синусоиде - не привязывайся к текущим координатам... Сделай вывод самолета относительно какой-то точки:
procedure samolet(X, Y: integer);
begin
moveto(X, Y);

linerel(30,0);
linerel(-10,-10);
linerel(0,-20);
linerel(30,0);
linerel(-30,-15);
linerel(0,-15);
linerel(-5,-5);
linerel(-5,5);
linerel(0,15);
linerel(-30,15);
linerel(30,0);
linerel(0,20);
linerel(-10,10);
end;

теперь, если ты в основном цикле будешь присваивать X и Y значения, которые образуют синусоиду, и передавать их в процедуру - то и самолет твой будет тоже лететь по синусоиде...

Как-то так:
for X:=1 to 200 do begin
Y := (GetMaxY div 2) + Trunc(100 * sin(X * (Pi/200)));
setcolor(3); samolet(X, Y);
Delay(3000);
setcolor(0); samolet(X, Y);
end;


(не тестировал, но работать вроде как должно...)
 К началу страницы 
+ Ответить 
numb86
сообщение 17.10.2006 21:01
Сообщение #7





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

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


спасибо большое попробую так сделать.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
numb86
сообщение 17.10.2006 21:46
Сообщение #8





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

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


А можно еще кое что спросить.Как нибудь возможно сделать так чтобы самолет во время движения менял положение в пространстве в зависимости от места синусоиды(чтобы само изображение самолета меняло угол наклона)?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 18.10.2006 17:27
Сообщение #9


Гость






Цитата
чтобы само изображение самолета меняло угол наклона
тебе надо передавать текущее положение самолета на оси OX (а если ты сделал так, как я тебе предлагал - у тебя весь путь по OX будет соответствовать 180 градусам, т.е. одному периоду синусоиды) в процедуру отрисовки, и в зависимости от него рисовать самолет с заданным наклоном (используя Sin/Cos, а не только Line)
 К началу страницы 
+ Ответить 
numb86
сообщение 21.10.2006 23:55
Сообщение #10





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

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


А нельзя ли примерчик хотя бы насчет одной линии а то уменя чтото не получается.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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