Javascript 从另一个点旋转一定距离得到点的X和Y

Javascript 从另一个点旋转一定距离得到点的X和Y,javascript,graph,canvas,rotation,point,Javascript,Graph,Canvas,Rotation,Point,我在搜索中只找到了一些解决方案,它们要么特定于语言,要么太复杂。我只需要得到一个点,距离另一个点的距离。我正在HTML5画布中的一个项目中使用这个。我知道有一个旋转函数,但我用的是路径,我不相信它能用。不管怎样,我只想要一个公式,在这里我可以插入x,y,距离和方向。通过计算角度的正弦和余弦,你可以得到在给定旋转时距离原点一个单位的点。只要把坐标乘以你需要的距离。余弦对应X,正弦对应Y newx = distance * Math.cos(direction) + x newy = distanc

我在搜索中只找到了一些解决方案,它们要么特定于语言,要么太复杂。我只需要得到一个点,距离另一个点的距离。我正在HTML5画布中的一个项目中使用这个。我知道有一个旋转函数,但我用的是路径,我不相信它能用。不管怎样,我只想要一个公式,在这里我可以插入x,y,距离和方向。

通过计算角度的正弦和余弦,你可以得到在给定旋转时距离原点一个单位的点。只要把坐标乘以你需要的距离。余弦对应X,正弦对应Y

newx = distance * Math.cos(direction) + x
newy = distance * Math.sin(direction) + y
换言之:

  • 确定角度
  • 通过得到角度的余弦来计算X
  • 通过得到角度的正弦来计算Y
  • 将X和Y乘以距离
  • 按“源”点偏移X和Y

拿出铅笔和纸,算出数学题。这是一个简单的三角计算。
“n”
是弧度还是度数?早在开发游戏的时候,我就处理过所有这些三角计算。当你在编程的时候,做这个数学是很有趣的,尽管我在大学里讨厌同样的数学,因为我不得不在不知道它在哪里适用的情况下学习它@恶棍你应该通过一些数学文本来学习这些东西,一旦你做得好,并在屏幕上旋转一些东西,这是很有趣的,也是很有意义的:)正弦对应于Y,余弦对应于X+1,详细解释如下。如果你能添加一些伪代码,我会说它将是完整的:)@Senthil我会的,但我对HTML5一无所知(我不想发布一些我自己不明白的东西)。谢谢兄弟,我以为他们使用了cos和sin。不过,我也从来没有那么清楚地理解过。假设我应该查找trig函数。还记得高中时的“sohcahtoa”吗?:)