Как реализовать движение объекта? Есть объект, который должен двигаться по заданному направлению в 2д, задана скорость с которой этот объект должен двигается и угол (направление движения 0-360град). Нужно реализовать передвижение при помощи функции, которая принимает 2 параметра X и Y. Мой ход действий:1) разложить скорость на две скорости проекции Vx=V*cos(alpha); Vy=V*sin(alpha) 2) нахожу положение объекта в определённый момент x=Vx*t*cos(alpha); y=Vy*t*sin(alpha); 3) подставляю получившиеся координаты в функцию (данная функция вызывается раз в t секунд, соответственно переменная t меняется) Проблема заключается в том, что объект движется не в том направлении. Как так?
Возможно, проблема связана с тем, что в формуле для нахождения нового положения объекта вы не учитываете его текущее положение. Для того чтобы объект двигался в заданном направлении, вам необходимо добавить к текущему положению объекта новые координаты, которые вы вычислили с учетом скорости и угла.
Попробуйте модифицировать вашу формулу следующим образом:
новая позиция по x = текущий x + Vx t cos(alpha) новая позиция по y = текущий y + Vy t sin(alpha)
где текущий x и y - это текущие координаты объекта.
Таким образом, объект будет двигаться в переданном направлении. Попробуйте внести эту правку в вашу функцию и проверить, как будет вести себя объект.
Возможно, проблема связана с тем, что в формуле для нахождения нового положения объекта вы не учитываете его текущее положение. Для того чтобы объект двигался в заданном направлении, вам необходимо добавить к текущему положению объекта новые координаты, которые вы вычислили с учетом скорости и угла.
Попробуйте модифицировать вашу формулу следующим образом:
новая позиция по x = текущий x + Vx t cos(alpha)
новая позиция по y = текущий y + Vy t sin(alpha)
где текущий x и y - это текущие координаты объекта.
Таким образом, объект будет двигаться в переданном направлении. Попробуйте внести эту правку в вашу функцию и проверить, как будет вести себя объект.