Реализация скорости ветра в нашем движении снаряда? - PullRequest
2 голосов
/ 10 декабря 2010

Я пытаюсь сделать танковую игру в java в духе Scorched earth или Pocket Tanks, в которой пользователь определяет угол и скорость снаряда. Я искал в интернете способ внедрить скорость ветра в нашу систему снарядов. Как добавить скорость ветра к движению снаряда?

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

Ответы [ 3 ]

3 голосов
/ 10 декабря 2010

Как добавить скорость ветра к движению снаряда?

Попробуйте использовать сила сопротивления = A * | Δv |* Δv * (площадь поверхности) + B * Δv * площадь поверхности, где Δv = (скорость ветра) - (скорость снаряда), и прибавьте ее к другим силам в вашей имитации.(а затем используйте закон Ньютона (ΣF = ma) для вычисления ускорения)

Обратите внимание, что площадь поверхности является эффективной областью, подверженной воздействию ветра.Например, если ваш снаряд имеет форму диска, будет очень высокая сила сопротивления, если ветер будет дуть на поверхность диска, тогда как будет низкая сила сопротивления, если ветер будет дуть через диск.

Следует также отметить, что это не включает момент сопротивления (силы, приложенные в различных точках снаряда, вызывающие ненулевой чистый крутящий момент и, следовательно, изменение углового момента снаряда), например, на ветряной мельнице или падающем кленовом семени.Это, вероятно, гораздо сложнее моделировать, чем сила сопротивления.

2 голосов
/ 10 декабря 2010

Или вместо использования силы перетаскивания вы можете просто применить обычную силу.Если все ваши объекты имеют одинаковый размер и форму (поперечная секитальная форма), просто выберите F и примените эту силу к своим расчетам скорости.

2 голосов
/ 10 декабря 2010

Для простоты. Как насчет сложения или вычитания горизонтальной скорости в зависимости от направления ветра по сравнению с направлением движения снаряда.

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

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

...