0

我必须使用专有的图形引擎来绘制一条线。我可以按原点 (P1) 旋转整个绘图。我想要的是围绕其中心点(M)旋转它。所以基本上它看起来像 L_correct 而不是 L_wrong。

我认为,应该可以通过将其从 P1 移动到 P2 来纠正它。但我无法弄清楚可以使用什么公式来确定距离。它可能涉及角度,宽度和高度......

所以基本上我的问题是,是否有一个函数可以根据我的可用数据确定 x2 和 y2?

1

4

1 回答 1

0

假设您有一个原始方法可以将绘图旋转任何给定的角度phi。您想要的是使用该图元来D围绕一个点旋转图形M。这是如何进行的草图。

  1. 将您的绘图转换为 ,即将-M转换应用于绘图中的T(P) = P - M所有点P。让T(D)成为 的翻译D

  2. 现在使用图元旋转T(D)所需的角度phi。让R(T(D))结果。

  3. 现在将先前的结果平移M并获得旋转后的图形。换句话说,使用转换T'(P) = P + M

请注意,在上面的步骤 1 中,M将映射到 origin 0,在该处已知旋转原语可以工作。在步骤 2 中旋转后,步骤 3 的相反平移将绘图放回其原始位置,因为此时0映射到M

于 2016-02-28T16:34:10.153 回答