我必须使用专有的图形引擎来绘制一条线。我可以按原点 (P1) 旋转整个绘图。我想要的是围绕其中心点(M)旋转它。所以基本上它看起来像 L_correct 而不是 L_wrong。
我认为,应该可以通过将其从 P1 移动到 P2 来纠正它。但我无法弄清楚可以使用什么公式来确定距离。它可能涉及角度,宽度和高度......
所以基本上我的问题是,是否有一个函数可以根据我的可用数据确定 x2 和 y2?
我必须使用专有的图形引擎来绘制一条线。我可以按原点 (P1) 旋转整个绘图。我想要的是围绕其中心点(M)旋转它。所以基本上它看起来像 L_correct 而不是 L_wrong。
我认为,应该可以通过将其从 P1 移动到 P2 来纠正它。但我无法弄清楚可以使用什么公式来确定距离。它可能涉及角度,宽度和高度......
所以基本上我的问题是,是否有一个函数可以根据我的可用数据确定 x2 和 y2?
假设您有一个原始方法可以将绘图旋转任何给定的角度phi
。您想要的是使用该图元来D
围绕一个点旋转图形M
。这是如何进行的草图。
将您的绘图转换为 ,即将-M
转换应用于绘图中的T(P) = P - M
所有点P
。让T(D)
成为 的翻译D
。
现在使用图元旋转T(D)
所需的角度phi
。让R(T(D))
结果。
现在将先前的结果平移M
并获得旋转后的图形。换句话说,使用转换T'(P) = P + M
。
请注意,在上面的步骤 1 中,M
将映射到 origin 0
,在该处已知旋转原语可以工作。在步骤 2 中旋转后,步骤 3 的相反平移将绘图放回其原始位置,因为此时0
映射到M
。