Большой Воронежский Форум
» Программирование>}{элп плиз с РГР по ПАСКАЛЮ!!!
jakysh 15:54 02.12.2007
Продемонстрировать движение подпрыгнувшего мяча, брошенного с высоты Н и прыгующего вдоль экрана слева направо!!!
плиз если кто может!!!
почти неделю бьюсь с ней ничего не получается!!!
ЗАРАНЕЕ ВСЕМ СПАСИБО!!! [Ответ]
Part!zan 16:42 02.12.2007
jakysh, а в чем проблема-то? Формулы движения тела под воздействием притяжения известны со школы. [Ответ]
jakysh 01:06 03.12.2007
1. я фурмулу не знаю!!!
2. как задать движения "circle", что бы изменялась не только х или у или даже вместе т.е.:
For x:=1 to 50 do
begin
delay(5000);
circle (x,x,50);
end;
То есть по диагонали!!!
3.Вопрос заключается в том как мне задать траекторию, что использовать, какие циклы.
вот в чём трабла!!! [Ответ]
Snusmumrik 01:07 03.12.2007
а вложенные циклы тебе не рассказывали? в твоем случае пара фор-ов -самое то, что доктор прописал. [Ответ]
Part!zan 01:44 03.12.2007

Сообщение от jakysh:
я фурмулу не знаю!!!

Это не отмаз. В школе все было. В инете - тем более.

И циклы там не for надо использовать... Короче, ищи формулу. Как найдешь - все сразу будет понятно. [Ответ]
The_God 01:49 03.12.2007
инетом научился же пользоваться... паскаль не намного сложнее [Ответ]
Snusmumrik 10:31 03.12.2007

Сообщение от Part!zan:
И циклы там не for надо использовать... Короче, ищи формулу. Как найдешь - все сразу будет понятно.

ну, например, 1 фор оставить, а while-ом проверять, что шарик не достиг границ экрана. и потом задавать ему направление движения. должно красиво получиться. [Ответ]
Andrei_K 12:44 03.12.2007
в общем алгоритм примерно такой:

исходные данные:

g - ускорение свободного падения м/с^2
h - высота с которой бросили мяч (по нижнему краю мяча), м
k - коэффициент упругости мяча (от 0 до 1)
v - начальная горизонтальная скорость мяча, м/с

координата x=vt; (трением пренебрегаем)
координату y вычисляем так:

1)находим время падения мяча по формуле t1=sqrt(2h/g)
2)пока t<t1 высота мяча будет вычисляться так: y=h-(gt^2)/2
3) вычисляем скорость отскока мяча: v1=k*sqrt(2gh)
4)время подъёма мяча: t2=v1/g
5) пока t<t1+t2 высота мяча: y=v1*t-(gt^2)/2
6) возвращаемся к п1, высота h=(v1^2)/2g

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

P.S. Могу где-то немного в формулах ошибаться, физику давно учил, но суть такая... [Ответ]
mikе 13:00 03.12.2007
чёж тут писать-то? стыдно, граждане, такие вопросы задавать. такие вещи в школе ещё писались. [Ответ]
Andrei_K 13:03 03.12.2007
теория тут [Ответ]
jakysh 20:16 03.12.2007
О школа... ды я в ней ужо 4й год как не учусь!!!ПЛ№7 РУЛИТ!!!(чушок короче)А там на физику упора не было там нас чудок на софт натаскивали корел фотик пейджмейкер и тд.
Andrei_K, а кодом сможешь изобразить???я конечно сам попробую но с 50% уверенностью могу сказать что у мну них не получиться!!!
Я собственно что не понял:
допустим с формулой разбрались!!!но как задать координату этой формулой!!!
пробовал задать функцией у=-(sqr(x))-как бы вроде парабола направленная вниз.Даже значения у переносил в массив и массив ставил заместо игрика - получалось что шарики появляються в разных местах((( [Ответ]
Snusmumrik 20:29 03.12.2007

Сообщение от jakysh:
пробовал задать функцией у=-(sqr(x))-как бы вроде парабола направленная вниз.Даже значения у переносил в массив и массив ставил заместо игрика - получалось что шарики появляються в разных местах(((

они и должны появляться в разных местах. только очень часто перерисовываться очень близко друг к другу....

Не вижу, в чем проблема. учи паскаль. [Ответ]
jakysh 20:50 03.12.2007
Я его и учу!!!ыыы
Но мне эту работу надо здавать уже!!!а на работу с графикой нам не то что бы упражнения давали у нас только полЛекции то было по графу и всё...(((мне бы просто кусок кода где этот "шарик" делает одно кол****ие [Ответ]
Andrei_K 20:57 03.12.2007

Сообщение от jakysh:
Andrei_K, а кодом сможешь изобразить???я конечно сам попробую но с 50% уверенностью могу сказать что у мну них не получиться!!!
Я собственно что не понял:
допустим с формулой разбрались!!!но как задать координату этой формулой!!!
пробовал задать функцией у=-(sqr(x))-как бы вроде парабола направленная вниз.Даже значения у переносил в массив и массив ставил заместо игрика - получалось что шарики появляються в разных местах(((

твоя ошибка вот в чём, ты пытаешься вычислить и вывести на экран функцию вида y=f(x), хотя на самом деле тебе надо вычислить 2 функции x=f(t), и y=f(t), где X и Y - координаты, а t - время, обе функции я уже расписал... [Ответ]
Вверх