我有两个等价且彼此重叠的矩形。我们可以将它们想象成尺寸完全相同的图片和框架。现在我旋转图片(围绕它的中间),同时保持框架固定,以便图片的顶点滑出框架。我想计算我需要向框架添加多少垂直和水平空间,以使其足够大以显示旋转的图片。我知道矩形旋转了多少(以度为单位)并且我知道矩形的尺寸。
这是一张插图(不好意思,不好意思)。
红线和黄线是我要计算的长度。
这一切的应用是一个Android程序,我无法旋转 View 本身(由于版本问题),但我可以旋转 View 内的图像。我仍然非常想保持 View 足够大以在旋转后显示图像。
谢谢。
最佳答案
让你的半边是a
和b
。
如果按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)
关于android - 旋转矩形并计算旋转后所需的额外空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17277324/