2010-12-16 33 views
3

我只找到了一些搜索解决方案,它们是语言特定的或太复杂。我只需要从另一个点旋转n点得到点距离。我在HTML5画布中使用这个项目。我知道有一个旋转功能,但我正在使用路径,我不相信它适用于它。无论如何,我只需要一个可以插入x,y,距离和方向的公式。从另一个点获得点旋转一定距离的X和Y

+2

打破铅笔和纸,算出数学。然后把它变成代码。 – 2010-12-16 04:16:00

+0

这是一个简单的三角函数计算。 ''n“'是弧度还是度数? – stillstanding 2010-12-16 04:16:56

+1

我曾经在开发游戏的时候处理所有这些三角函数的计算方法。在编程时做这个数学是很有趣的,尽管我曾经在大学时讨厌同样的数学知识,但我不得不知道它适用于何处。 @Ruffian你应该通过一些数学文本和学习这些东西,一旦你正确地做,并获得在屏幕上旋转的东西,这是有趣的和非常有价值的:) – 2010-12-16 04:22:58

回答

4
newx = distance * Math.cos(direction) + x 
newy = distance * Math.sin(direction) + y 
+0

感谢兄弟,我认为他们曾经使用过cos和罪。虽然从来没有理解得那么好。假设我应该查找trig函数。 – Anonymous 2010-12-16 04:33:52

+0

还记得高中时的“sohcahtoa”吗? :) – sje397 2010-12-16 04:36:20

0

通过计算角度的正弦和余弦,可以在给定的旋转距离原点一个单位。只需将坐标乘以所需的任何距离即可。余弦对应于X和正弦对应于Y.

换句话说:

  • 决定的角度。
  • 通过获取角度的余弦来计算X.
  • 通过获取角度的正弦来计算Y.
  • 将X和Y乘以距离。
  • 通过“源”点偏移X和Y.
+1

正弦对应于Y和余弦对应于X – 2010-12-16 04:18:14

+0

@Senthil谢谢,编辑。 – Maxpm 2010-12-16 04:21:36

+0

+1的详细解释。如果你可以添加一些伪代码,我会说它会完成:) – 2010-12-16 04:27:54

相关问题