Хорошо, я знаю, что это совершенно не по теме для программистов, но все же мне нужно это для приложения, поэтому вот оно:
Баллистическая кривая (без ветра или любых других условий) определяется этими двумя строками:
Итак, проблема в том, что вы получили 3 неизвестных значения: x, y и время t, но только 2 уравнения.Вы не можете действительно вычислить все 3 только с этими значениями, я получил:
- скорость v
- угол Альфа
- исходные координаты
Таким образом, вы должны решить, какой из них указать.
Теперь у вас есть игра 2D-танков, или что-то в этом роде, вы знаете, что у вас есть танк, и используя баллистику, вы должны сбивать противника с помощью установки угла и силы..
Мне нужно знать, когда пуля попадает в землю, она может быть в эфире во время полета или предварительно вычислена.Там возникает моя проблема.Какой способ использовать?Предварительно вычисляйте или проверяйте, ударились ли вы о землю на каждом шаге.
Если я хочу выполнить предварительные вычисления, мне нужно знать высоту ландшафта, которая, по логике, должна быть постоянной, поскольку я этого не делаю.знать, в каком х координат.Если бы я знал Х, это означало бы, что прямо перед моей башней стоит стена.Таким образом, единственный способ получить результат, когда я упаду на землю, - это проверить интервалы времени для удара о землю.Это также хорошо, потому что местность не должна быть статичной!Но не слишком ли большие накладные расходы, которые можно было бы сделать намного проще?Сталкивались ли вы с такой проблемой / решением?
Заранее спасибо, кстати, местность может быть плоской, с использованием линий или NURBS, поэтому, пожалуйста, для общего решения, а не конкретно, на какой высоте вы будете снимать, это будет удар.