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