我必须使用专有的图形引擎来绘制一条线。我可以按原点 (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。