android - 旋转矩形并计算旋转后所需的额外空间

标签 android geometry image-rotation

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

这是一张插图(不好意思,不好意思)。

rectangles

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

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

谢谢。

最佳答案

让你的半边是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)

关于android - 旋转矩形并计算旋转后所需的额外空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17277324/

相关文章:

java - 安卓错误: application has stopped unexpectedly please try again

c++ - 如何调整椭圆的大小,使其始终触及左右边界?

从点的数组列表中进行java圆识别

java - 图像在 3D 空间中绕 Y 轴旋转

ios - 在iOS中的 slider 值上旋转图像

javascript - 无法在 Samsung Galaxy Tab 2 7.0 的默认浏览器上通过 youtube API 播放 youtube 视频

Android:访问输入设备 msm_pcm_in

android - 当点击一个按钮在android中顺时针旋转图像

Android,如何获取当前正在显示的 Activity 信息(在前台)?

algorithm - 3d 中 2 个圆盘之间的交点