Geometry 平移矩形';s坐标
我有两个应用程序,一个创建一个矩形,输出它的左、上、宽、高和旋转角度,另一个将矩形绘制到屏幕上 Application1(writer)使用左上方作为旋转原点 Application2(读卡器)使用中心作为旋转原点 我试图得到一个deltaX和deltaY,这样我就可以画出矩形,围绕原点旋转它,并使用内置的translate方法,将矩形移动到位 我知道点旋转可以按如下方式计算:Geometry 平移矩形';s坐标,geometry,translation,Geometry,Translation,我有两个应用程序,一个创建一个矩形,输出它的左、上、宽、高和旋转角度,另一个将矩形绘制到屏幕上 Application1(writer)使用左上方作为旋转原点 Application2(读卡器)使用中心作为旋转原点 我试图得到一个deltaX和deltaY,这样我就可以画出矩形,围绕原点旋转它,并使用内置的translate方法,将矩形移动到位 我知道点旋转可以按如下方式计算: x'=x*cos(θ)-y*sin(θ) y'=x+sin(θ)+y*cos(θ) 但是,有了这些,我似乎无法计算tr
x'=x*cos(θ)-y*sin(θ)
y'=x+sin(θ)+y*cos(θ)
但是,有了这些,我似乎无法计算translate方法所需的实际增量值
在下图中,白色矩形使用“上/左”作为旋转点绘制,而绿色矩形使用“中心”作为旋转点绘制。我想把绿色的长方形换成白色的
(0,0)
您必须通过以下方式进行翻译: 发展:
- 在应用1中,矩形的左上顶点应为
- 由于应用程序1围绕左上顶点旋转矩形,因此它们的旋转位置重合:
- 应用程序2使用与应用程序1中左上角点相关的中心坐标,如下所示:
- 为了计算应用程序2中旋转的左上顶点,我们应用R:
- 因此,平移向量T为(替换上述等式):