Итак, вы ![ваш вопрос в графическом представлении](https://i.stack.imgur.com/er0ax. jpg)
Во-первых, у вас есть скорость, поэтому вам также нужно взять временные рамки, поэтому предположим, что нам нужны координаты после 1 с. Формула для измерения скорости: V = S/T, где V — скорость (скорость в направлении), S — расстояние, а T — время. Следовательно, S = VxT. Согласно вашей скорости 200, расстояние, пройденное за 1 секунду, равно 200M, теперь у нас также есть угол, который вы указали как 53 градуса. Следовательно, мы можем нарисовать воображаемый треугольник, чтобы найти (x, y) новые координаты, которые неизвестны. Чтобы узнать x, y формула
y= sin(theta) x Distance
x = cos(theta) x Distance
где тета равна 53 градусам, а расстояние равно 200, следовательно, (x, y) = ()
Чтобы быть немного более наглядным, в нашем воображаемом треугольнике y противоположен, а x примыкает, а x, y - это не что иное, как расстояния от 0,0. В тригонометрии есть формула, которая утверждает, что
Sin(theta) = opposite/Hypotenuse
hence 53 = unknown/200
similarly
Cos(theta) = Adjacent/Hypotenuse
hence 53 = unknown/200
So after calculating we get the result (120.36,159.72)
Итак, в java-скрипте вы можете использовать
// since Math.cos takes input in radians you have to convert it into degrees.
var speed = 200;
var time = 1;
var angle = 53;
x = (Math.cos(angle*(Math.PI/100))* (speed*time);
y = (Math.sin(angle*(Math.PI/100))* (speed*time);
Мы рассчитали в радианах, а не в градусах, поэтому вам может понадобиться необходимое преобразование в градусы, но это несложно, просто замените (x,y) на (y,x), что будет результатом с градусами.
person
Stack learner
schedule
30.04.2016