我有两个应用程序,一个创建一个矩形,输出它的左边,顶部,宽度,高度和旋转角度,另一个将矩形绘制到屏幕上。翻译一个矩形的坐标
Application1(作家)使用左上方作为旋转的原点。
Application2(阅读器)使用中心作为旋转的原点。
我想要得到一个deltaX和deltaY,以便我可以绘制矩形,旋转它关于原点,并使用内置的转换方法将矩形转换为位置。
我知道如下一个点旋转可以这样计算:
x' = x*cos(theta) - y*sin(theta)
y' = x+sin(theta) + y*cos(theta)
但是,随着的是,我似乎无法找出需要的翻译方法的实际增量值。
在下图中,使用上/左作为旋转点绘制白色矩形,而使用中心作为旋转点绘制绿色矩形。我想把绿色的矩形移到白色的那个上。
(0,0)
翻译,等等,加入增量的矩形范围?或者你在谈论其他翻译? – 2011-02-08 08:00:52
我的理解是翻译意味着通过deltaX,deltaY移动每个坐标。 – Alan 2011-02-08 08:05:44