我必须使用专有的图形引擎来绘制线条。我可以按原点(P1)旋转整个绘图。我想要的是围绕它的中心点(M)旋转它。所以基本上它看起来像L_correct而不是L_wrong。
我认为,应该可以通过将它从P1移动到P2来纠正它。但我无法弄清楚可以使用什么公式来确定距离。它可能涉及角度,宽度和高度......
基本上我的问题是,如果有一个函数可以根据我的可用数据确定x2和y2吗?
答案 0 :(得分:0)
假设您有一个基本方法,可以按任意给定角度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
被映射到原始0
,其中已知旋转原语可用。在步骤2中旋转后,步骤3的相反平移将图形放回其原始位置,因为此时0
已映射到M
。