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

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

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

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





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

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


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

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


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

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

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


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


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





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

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


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


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

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

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


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


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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;


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





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

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


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





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

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


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


Гость






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





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

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


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

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

 





- Текстовая версия 26.10.2020 3:35
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name