【问题标题】:Find new coordinates of a point after rotation [closed]旋转后查找点的新坐标[关闭]
【发布时间】:2016-10-28 02:14:25
【问题描述】:

假设我有一个尺寸为 w*h 的矩形,并让这个矩形内的位置 (x,y) 有一个任意点,现在我将此矩形旋转到 X 度,该任意位置的新位置是什么旋转后的点..

【问题讨论】:

  • 旋转中心是哪一点?
  • 旋转中心是矩形的中心。
  • 这不是编程问题。数学相关问题最好在这里问math.stackexchange.com
  • 这个问题似乎跑题了,因为它是关于数学的,属于math.stackexchange.com

标签: math


【解决方案1】:

新坐标 (x',y') 是标准旋转公式的结果:

y' = y*cos(a) - x*sin(a)
x' = y*sin(a) + x*cos(a)

其中a是顺时针旋转的角度。这假设 (x,y) 是相对于旋转中心给出的。也就是说,(0,0) 是旋转的中心。

大多数 sin/cos 函数要求角度为弧度。在这种情况下,如果 X 以度为单位,请使用此转换公式:

a = X * pi / 180

【讨论】:

  • 你的答案错了,应该是y' = y*cos(a) + x*sin(a), x' = - y*sin(a) + x*cos(a)
  • @GhilasBELHADJ 是的,这通常是数学中的惯例,a 是逆时针旋转的角度。在计算机图形学中,有时期望它是顺时针的,这就是这个答案所假设的。感谢您指出歧义;答案已更新。
  • @GhilasBELHADJ 所以对于顺时针旋转,它应该是x' = -y*sin(a) + x*cos(a),即总和的前半部分应该被否定?
  • @Matt 如果旋转中心应该是图像的中心,而不是 (0,0),该怎么办?
  • @quantumflash 将图像的中心平移到 (0,0),旋转,然后将其平移回来。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-08
  • 1970-01-01
  • 1970-01-01
  • 2010-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多