Продемонстрировать движение подпрыгнувшего мяча, брошенного с высоты Н и прыгующего вдоль экрана слева направо!!!
плиз если кто может!!!
почти неделю бьюсь с ней ничего не получается!!!
ЗАРАНЕЕ ВСЕМ СПАСИБО!!!
[Ответ]
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
чёж тут писать-то? стыдно, граждане, такие вопросы задавать. такие вещи в школе ещё писались.
[Ответ]
О школа... ды я в ней ужо 4й год как не учусь!!!ПЛ№7 РУЛИТ!!!(чушок короче)А там на физику упора не было там нас чудок на софт натаскивали корел фотик пейджмейкер и тд. Andrei_K, а кодом сможешь изобразить???я конечно сам попробую но с 50% уверенностью могу сказать что у мну них не получиться!!!
Я собственно что не понял:
допустим с формулой разбрались!!!но как задать координату этой формулой!!!
пробовал задать функцией у=-(sqr(x))-как бы вроде парабола направленная вниз.Даже значения у переносил в массив и массив ставил заместо игрика - получалось что шарики появляються в разных местах(((
[Ответ]
Snusmumrik 20:29 03.12.2007
Сообщение от jakysh:
пробовал задать функцией у=-(sqr(x))-как бы вроде парабола направленная вниз.Даже значения у переносил в массив и массив ставил заместо игрика - получалось что шарики появляються в разных местах(((
они и должны появляться в разных местах. только очень часто перерисовываться очень близко друг к другу....
Я его и учу!!!ыыы
Но мне эту работу надо здавать уже!!!а на работу с графикой нам не то что бы упражнения давали у нас только полЛекции то было по графу и всё...(((мне бы просто кусок кода где этот "шарик" делает одно кол****ие
[Ответ]
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 - время, обе функции я уже расписал...
[Ответ]