图像旋转&跟踪位置

时间:2010-09-07 13:42:26

标签: math trigonometry

我正在围绕中心点旋转图像,但需要在图像旋转时跟踪图像上的位置。

假设:

  1. 起源于0,0
  2. 图像宽度和高度为100,100
  3. C(50,50)处的旋转点
  4. “a”的角度(在本例中为90度)
  5. P点从(25,25)开始,旋转后为Pnew(75,25)
  6. alt text

    我在20年内没有触及过trig,但猜测公式很简单......

1 个答案:

答案 0 :(得分:2)

  

我在20年内没有触及过trig,但猜测公式很简单......

是的,公平的。通过围绕原点旋转来映射点(x1,y1):

x2 = cos(a) * x1 + sin(a) * y1;
y2 = cos(a) * y1 - sin(a) * x1;

...所以你首先需要转换到你的例子中的原点,即(-50,-50),然后在轮换后翻译。

x2 = cos(a) * (x1 - 50) + sin(a) * (y1 - 50) + 50;
y2 = cos(a) * (y1 - 50) - sin(a) * (x1 - 50) + 50;

......或类似的东西。 (你可以生成一个矩阵,它将完成所有三个转换,我会把它留给另一个答案或作为练习......)