社区
数据结构与算法
帖子详情
一个位图,长宽分别是m和n,试计算旋转x角度之后位图的面积。给出理论上旋转之后的最大面积,并求出此时的旋转角度,给出公式。
xiaoxiaofei
2005-09-14 08:56:56
如题。
...全文
167
14
打赏
收藏
一个位图,长宽分别是m和n,试计算旋转x角度之后位图的面积。给出理论上旋转之后的最大面积,并求出此时的旋转角度,给出公式。
如题。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
寻开心
2005-09-16
打赏
举报
回复
对于公式
4*l*l*cos(beta+alpha)*sin(beta)
和
4*l*l* cos(beta)*sin(beta+alpha)
的极值
通过求导
导数均为
4*l*l( cos(beta)cos(alpha+beta)-sin(beta)*sin(alpha+beta)
= 4*l*l cos (alpha + 2*beta)
极值必然发生在 2*beta + alpha = Pi/2的情况下
beta = (Pi/2 - alpha)/2
也就是中轴线在45度的情况下
和gxqcn的答案是一致的
此时,最大面积是:
4*l*l*cos((Pi/2 + alpha)/2)*sin((Pi/2 - alpha)/2)
= 4*l*l*cos(Pi/4+alpha/4)^2 = 2 * l * l * (cos (Pi-alpha/2) + 1)
= 2*l*l*(sin(alpha/2)+1) sin(alpha/2)=n/2l
= 2*l*l*( n/2l + 1)
m =12, n =1 l = sqrt(145)/2
s =145/2 * ( 1/sqrt(145) + 1 ) = 78.52
你假定m=12, n=0
此时的面积就是72,近似的
xiaoxiaofei
2005-09-15
打赏
举报
回复
晕。。。替我解释一下那个宽12、高1的线的例子。。。。。。
那个最大值才。。。带入之后远远大于啊。
gxqcn
2005-09-14
打赏
举报
回复
唉,还是好事做到底,给你推导一下吧。
为方便讨论,限定 0 <= x < Pi/2,则
w < m*cos(x) + n*sin(x) + 1.0
h < m*sin(x) + n*cos(x) + 1.0
S = w * h
< 1 + m*n + (m^2+n^2)*sin(2x)/2 + (m+n)*(sin(x)+cos(x)
= 1 + m*n + (m^2+n^2)*sin(2x)/2 + √2*(m+n)*cos(x-Pi/4)
当 x = Pi/4 时,sin(2x)、cos(x-Pi/4)均同时达到极大值1,
∴ 当 x=Pi/4 左右时,S取得最大值 Smax < t^2/2 + √2*t + 1,其中 t=m+n.
寻开心
2005-09-14
打赏
举报
回复
把问题换一个方式描述:
以矩形中心为坐标系原点, 假定对角线的一半长度是l,两个对角线之间的夹角(锐角)是alpha
假定初始状态,矩形的一条对角线和x坐标轴齐平,然后旋转beta角度,beta从0到360度
那么这个时候,四个角点的坐标分别是
l*cos(beta), l*sin(beta) = x1, y1
l*cos(beta+alpha), l*sin(beta+alpha) = x2, y2
-l*cos(beta), -l*sin(beta) = -x1, -y1
-l*cos(beta+alpha), -l*sin(beta) = -x2, -y2
面积就等于 4* max(fabs(x1), fabs(x2)) * max(fabs(y1)*fabs(y2))
显然l对于结果的影响是可以作为因子提取出来的
而且根据对称性旋转360度的情况可以用90度以内的情况替代
问题实际上就是在x方向比较: cos(beta)和cos(beta+alpha)的情况
在y方向比较sin(beta)和sin(beta+alpha)的情况
在0到 90 - alpha/2 的范围内, |cos(beta)| > |cos(beta+alpha)|
|sin(beta)| < |sin(beta+alpha)|
而在 90-alpha/2范围内, |cos(beta)| < |cos(beta+alpha)|
|sin(beta)| > |sin(beta+alpha)|
所以,在 0到90-alpha/2的范围内:
面积是: 4*l*l* cos(beta)*sin(beta+alpha)
在在 90-alpha/2到90的范围内
面积是: 4*l*l*cos(beta+alpha)*sin(beta)
各自算极值吧
gxqcn
2005-09-14
打赏
举报
回复
其实这是一个很简单的问题(我的工作就是做图像处理算法的),结论也很明了。
也正因为如此,我在一个打印纸的边缘进行的推导,结果接连犯了些低级错误:(
楼上所用公式是不方便进行极值分析的,而不仅仅是一个“高中的知识忘了”的问题。
xiaoxiaofei
2005-09-14
打赏
举报
回复
参考我得上上个回复中的例子,你的好像大概也许可能还是错的喔,呵呵
xiaoxiaofei
2005-09-14
打赏
举报
回复
我算的x=m*cosx + n*sinx
y=sqrt(m^2+n^2)*cos[arctg(m/n)-x];
面积就是s = x*y,可是不知道怎么化简,晕,高中的知识忘了。
gxqcn
2005-09-14
打赏
举报
回复
对不起,还是写错了(看来今天真的不适合推导公式了),应为:
S = w * h = m*n + (m^2+n^2)*abs(sin(2*x))/2
∴当且仅当 x=(k±1/4)*Pi(k∈Z)时,S取得最大值 Smax = (m+n)^2 / 2.
如果考虑到 w、h 需向上取整,上式仅需作相应的变换即可。
xiaoxiaofei
2005-09-14
打赏
举报
回复
。。。。。。这个也是错的啊。
还拿那条长12,高1的‘线’为例,很明显它旋转45度的时候面积最大,此时长宽各为6*sqrt(2),面积是72,如果带入你的公式,仅仅一个12的平方就有144了啊。
gxqcn
2005-09-14
打赏
举报
回复
对不起,又写错了(看来今天头脑有点不清醒,不适合推导公式),应为:
S = w * h = m*n + (m^2+n^2)*abs(sin(2*x))
∴当且仅当 x=(k±1/4)*Pi(k∈Z)时,S取得最大值 Smax = m^2 + m*n + n^2.
如果考虑到 w、h 需向上取整,上式仅需作相应的变换即可。
gxqcn
2005-09-14
打赏
举报
回复
第一个回帖有误,应为:
S = w * h = m^2 + n^2 + m*n*abs(sin(2*x))
∴当且仅当 x=(k±1/4)*Pi(k∈Z)时,S取得最大值 Smax = m^2 + m*n + n^2.
如果考虑到 w、h 需向上取整,上式仅需作相应的变换即可。
gxqcn
2005-09-14
打赏
举报
回复
我知道了,由于是位图,w、h 需向上取整,即修订为:
w = ceil( m*abs(cos(x)) + n*abs(sin(x)))
h = ceil( m*abs(sin(x)) + n*abs(cos(x)))
余下的你自己推导好了,不会很难的。
xiaoxiaofei
2005-09-14
打赏
举报
回复
楼上的错了,是位图,注意啊
简单来说::一个高1,长12的‘线’,转60度,变成长6,高6*sqrt(3)了,此时面积就是36*sqrt(3),是原来的三倍还多。。。。。。
gxqcn
2005-09-14
打赏
举报
回复
w = m*|cos(x)| + n*|sin(x)|
h = m*|sin(x)| + n*|cos(x)|
S = w * h = m*n*(1+abs(sin(2x))
∴当且仅当 x=(k±1/4)*Pi(k∈Z)时,S取得最大值 Smax = 2*m*n.
bmp图像
旋转
算法
在图像处理,图形学、
计算
机视觉中,我们经常能够见到bmp这种格式的图片;那么对于我们来说想要处理... BMP(全称Bitmap)是Windows操作系统中的标准图像文件格式,可以分成两类:设备相关
位图
(DDB)和设备...
图像处理基础
第一章 概述 第二章 数字图像基本...M、N分别表示图像的行列数,三个M x N的二维矩阵分别表示各个像素的R、G、B三个颜色分量。RGB图像的数据类型一般为8位无符号整形,通常用于表示和存放真彩色图像,当然也可以
数字图像处理(五)几何变换之图像平移、镜像、绕中心点
旋转
、缩放等
本文为参考这位https://blog.csdn.net/eastmount/article/details/46345299所做的一些笔记,文字部分...几何运算对单幅图像做处理,改变像素的空间位置,几何运算包括两个独立的算法:空间变换算法和灰度级插值算法...
OpenCV3 和 Qt5
计算
机视觉:1~5
原文:Computer Vision with OpenCV 3 and Qt5 ...在最基本的形式和形状中,“
计算
机视觉”是
一个
术语,用于标识用于使数字设备具有视觉感觉的所有方法和算法。 这意味着什么? 好吧,这就是听起来的确切含义。 理
2017 9月
计算
机一级
试
题,2017年9月
计算
机一级photoshop考
试
试
题
2017年9月
计算
机一级photoshop考
试
试
题Internet的基础结构大体经历了三个阶段的演进,这三个阶段在时间上有部分重叠。下面是小编整理的关于
计算
机一级photoshop考
试
试
题,希望大家认真阅读!选择题1、题目若印刷上要...
数据结构与算法
33,008
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章