好了有你
首先你有速度,所以你需要一个时间框架也因此让我们假设我们需要1秒后的坐标。测量速度的公式是V = S/T 其中V是速度(方向上的速度)S是距离而T是时间。 因此S = VxT 根据你的速度200,在1秒内行进的距离是200M 现在我们有角度也是你给它的53deg。因此我们可以绘制一个想象的三角形来找出(x,y)未知的新坐标。 要知道的x,y式是
y= sin(theta) x Distance
x = cos(theta) x Distance
其中θ等于53deg和距离为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),这将是度数的结果。
这不是一个真正的编程问题,这是一个数学问题。一旦找出合适的公式,JavaScript部分将变得简单。你有没有尝试http://math.stackexchange.com/? – nnnnnn
即使下面的答案给出了解决这个问题的数学方法,但它的实现可能会有所不同。你能更具体地了解你的项目吗?你在制作一个画布动画吗?你到底想在你的代码中计算x和y?你会用它做什么? – akinuri
尽管已经给出了很好的答案,但您可能需要阅读[三角函数](https://www.mathsisfun.com/algebra/trigonometry.html)。如果你理解它的工作原理,它会更有趣。 – miraculixx