3

我有两个相等的矩形,它们彼此重叠。我们可以将它们想象为具有完全相同尺寸的图片和框架。现在我旋转图片(围绕它的中间),同时保持框架固定,使图片的顶点滑出框架。我想计算我需要向框架添加多少垂直和水平空间,以使其足够大以显示旋转的图片。我知道矩形旋转了多少(以度为单位)并且我知道矩形的尺寸。

这是一个插图(画得不好,抱歉)。

矩形

红线和黄线是我要计算的长度。

这一切的应用程序是一个Android程序,我不能旋转视图本身(由于版本问题),但我可以旋转视图内的图像。我仍然非常希望保持视图足够大以在旋转后显示图像。

谢谢你。

4

1 回答 1

5

让你的一半是ab

如果旋转alpha,矩形顶点将从 移动(a,b)

(a*cos(alpha)-b*sin(alpha),a*sin(alpha)+b*cos(alpha))

(这基本上是复数乘法)。

因此红线是

a*sin(alpha)+b*(cos(alpha)-1)

黄线是

a*(cos(alpha)-1)+b*sin(alpha)
于 2013-06-24T14:42:27.520 回答