【发布时间】:2010-09-07 21:52:42
【问题描述】:
我正在围绕其中心点旋转图像,但需要在图像旋转时跟踪图像上的位置。
给定:
- 原点 0,0
- 图片宽高分别为100、100
- C(50,50) 处的旋转点
- “a”的角度(在本例中为 90 度)
- 点 P 从 (25,25) 开始,旋转后位于 Pnew(75,25)
我已经 20 年没有接触过三角了,但猜测公式很简单......
【问题讨论】:
标签: math trigonometry
我正在围绕其中心点旋转图像,但需要在图像旋转时跟踪图像上的位置。
给定:
我已经 20 年没有接触过三角了,但猜测公式很简单......
【问题讨论】:
标签: math trigonometry
我已经 20 年没有接触过三角了,但猜测公式很简单......
是的,公平的。通过围绕原点旋转来映射点 (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;
...或者类似的东西。 (你可以生成一个矩阵来完成所有三个转换,我会把它留给另一个答案或作为练习......)
【讨论】: