Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Физика "прыжка" [D7]


JockerColl ©   (2005-04-04 22:10:00) 

Я делаю игру(файтинг), кто-нибудь может подсказать формулу прыжка, т.е нужно чтобы объект
поднимался по оси у, а когда достигал определённого предела, опускался вниз,как бы под воздействием Силы тяжести


Думкин   (2005-04-06 13:12:00) [1]

приемлемую для игры - хотя конечно, тцут от уровня заваист. Верчение ногами, руками - последнее (это обычная аналитическая механика).


Думкин   (2005-04-06 13:08:00) [2]

> [14] Kobik   (06.04.05 12:37)
> >>А можно прыгнуть нарушая законы физики?
> Если уж быть точным,

Вот с этого и надо начинать было. Вам надо описание хорошей модели реального прыжка. Если вы студент 3 курса указанного направления, то я думаю, вы прекрасно понимаете что вам надо и как и в чем могут возникнуть проблемы. Где руки нужны будут, где ноги. Мне кажется, что к 3 курсу вполне должно хватать квалификации чтобы создать приемлемую модель.
А что такое недофикл - я не знаю, например. поэтому говорить на недофикловском языке и с этими примерами - все равно что с глухим. Поставьте задачу наконец.


Kobik   (2005-04-06 12:37:00) [3]

>>А можно прыгнуть нарушая законы физики?
Если уж быть точным, то одной силы тяжести мало. Во время прыжка также будут действовать
а) Внутренние силы. Чел может вертеть ногами, руками и т.д. все это будет значительно влиять на его траекторию движения.

б)Более мелкие внешние силы.
1) Сила сопротивления воздуха - эта сила может быть не такой уж и мелкой.
2) Может ветер дуть.
3) Вращение земли влияет на силу тяжести. Об этом тоже не стоит забывать 8)

ЗЫ. Я учусь на 3 курсе по направлению "Механика. Прикладная математика" и учить меня физике 7-го класса не нужно :)


Думкин   (2005-04-06 12:24:00) [4]

> [12] Kobik   (06.04.05 12:20)

А можно прыгнуть нарушая законы физики?
Может все-таки стоит потратить время и сформулировать вопрос коректнее?


Kobik   (2005-04-06 12:20:00) [5]

>>Ему не это надо. Ему надо не физику. Ему надо нечто к игре
>>присобачить - как в нидофиле каком-нить. Физика отдыхает.

Гыгы. Ну что там надо автору темы JockerColl-у мы вообще не знаем.

2Думкин
А ты сам то пробовал прыгнуть как твердое тело и по всем законам физики? :) Ну вернее не совсем твердое :) но хотябы по максимому не сгибая ноги. Либо это будет прыжок на 5-10см, либо ты прыгаешь на батуте :)

Разве так должны в файтинге прыгать челы???


Думкин   (2005-04-06 12:12:00) [6]

> [10] wiz   (06.04.05 11:50)

Ему не это надо. Ему надо не физику. Ему надо нечто к игре присобачить - как в нидофиле каком-нить. Физика отдыхает.


wiz   (2005-04-06 11:50:00) [7]

для начала нужно понять две вещи:

1. что формула f=ma задаёт диф.ур. второго порядка.
2. в нашем случае (игры) диф.уры можно и нужно решать тупым интегрированием методом конечных приращений. (для f=ma - двойным интегрированием)

как только придёт понимание этих двух вещей, станет совершенно очевидно что и как делается. (останется только добавить начальные(граничные) условия и вперёд)...


Думкин   (2005-04-06 11:38:00) [8]

> [8] Kobik   (06.04.05 11:16)

Я догоняю. Ты определись. Физика она видишь ли физика - там клавиш и нидофиклы не катят. Там Кикоин рулит.


Kobik   (2005-04-06 11:16:00) [9]

>>Так тебе физику или шизику для игр? ты уж определись.

Ты наверно не догоняешь. В реальной жизни человек может заранее определить силу и дальность своего прыжка. В игре это можно сделать двумя способами:
1) Как в вормсах червяки кидают гранаты. Но для файтинга такой способ не годится.
2) Продолжительностью нажатия клавиши прыжка в процессе самого полета.

А не делать это ИМХО тупо. Вот в нидфокиле, например, хочу я перепрыгнуть бордюрчик сантиметр высотой, а юнит полетел...


Думкин   (2005-04-06 10:45:00) [10]

> [5] Kobik   (06.04.05 09:50)

Так тебе физику или шизику для игр? ты уж определись.


Kobik   (2005-04-06 09:51:00) [11]

ээ очипятка. Там конечно min, а не max


Kobik   (2005-04-06 09:50:00) [12]

хех. Я сначала тоже подумал в чем проблема? Но на самом деле не все так гладко. Если сделать h=v0*t+g*t*t/2 то чел будет прыгать как в нидфокиле. Это не есть хорошо.

Во многих играх игрок может задавать силу прыжка (гляньте любые старые аркадки). Когда нажимаешь вверх задается V0. А ускорение свободного падения начинает действовать через max{T1, [время когда отпущена кнопка]} где T1 можно вычислить из формулы

Hmax - V0*T1 = V0*T2 + g*T2*T2/2 (T2 - время от начала действия силы тяжести до смены направления движения; Hmax - заданная максимальная высота прыжка, если кнопка не отпускалась во время прыжка)

В итоге получаем что-то типа:

T1 = Hmax/V0 - 3*V0/2g


Anton M. Ivanov   (2005-04-05 07:55:00) [13]

А вообще, прочитай раздел Динамическая механика.Механика твердого тела. Уравнение движения неоднородного тела.
 Там прикрасно описано всё что тебе надо. И плюс: руки ноги тело и голову можно взять за отдельные объекты, которую имеют собственную массу и при прыжке учитывай силу приложенную к телу (каждый герой может обладать своей силой), вычисляй новые координаты тела каждую ед. времени и увидишь, что всё очень реально!!!!


Green_Templar   (2005-04-04 22:43:00) [14]

Отнимай каждую единицу времени какое-то число от скорости движения по ОУ, а потом от координаты отнимаешь скорость.


Defunct   (2005-04-04 22:38:00) [15]

Задайтесь начальной вертикальной скоростью прыжка (V0) а дальше имея ускорение падения g вычисляйте текущую скорость как:

V(t) = V0 - g*t

текущая высота будет равна:

H(t) = Интеграл( V(t)dt )

Если мне не изменяет мой маразм.


Юрий Зотов   (2005-04-04 22:23:00) [16]

Сорри, а что, школьный учебник физики не дает исчерпывающего ответа?

По оси Y:
v^2/2=gh (v - начальная и конечная скорость, g - ускорение свободного падения, h - высота прыжка).

По оси X: скорость не меняется, дальность прыжка определяется временем подъема и спуска.


Наверх

Титульная страница Поиск, карта сайта Написать письмо