快过年了,发个图形学问题,顺便散分

test4ever 2009-01-06 02:32:47
如何求不规则图形(包括折线、多边形)的最小外接矩形

外接矩形的概念如图所示


明显红色的矩形比黑色的矩形更能拟合该曲线(多边形)
最小外接矩形既是最能拟合该曲线(多边形)的矩形
...全文
455 53 打赏 收藏 转发到动态 举报
写回复
用AI写文章
53 条回复
切换为时间正序
请发表友善的回复…
发表回复
fjtxwd 2009-01-28
  • 打赏
  • 举报
回复
新年快乐
实达诚实 2009-01-23
  • 打赏
  • 举报
回复
mark,期待好的思路。
starluck 2009-01-22
  • 打赏
  • 举报
回复
MARK
tangtang89522 2009-01-21
  • 打赏
  • 举报
回复
jf,关注一下.............
qq675927952 2009-01-20
  • 打赏
  • 举报
回复
JF
idealguy 2009-01-19
  • 打赏
  • 举报
回复
同意“旋转卡壳法”,如三角形,只要转三次就可以了,基本理论应该是,最小矩形必有一边含两个顶点(需证明),不用一度一度去转

即使一度一度去转,也有问题,因为:
接着还要以0.1度v转9次,0.01度转9次, 0.001....度去转9次
cyberhero 2009-01-18
  • 打赏
  • 举报
回复
图都看不到
chenyingshu 2009-01-17
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 gbb21 的回复:]
两步而已
1、求凸包
2、尝试每条凸包的边,作为一条矩形的边的所有凸包外接矩形~找出面积最小的那个
[/Quote]

up~
AlwaysSLH 2009-01-15
  • 打赏
  • 举报
回复
纯jf的
星球建造师 2009-01-15
  • 打赏
  • 举报
回复
jf
test4ever 2009-01-13
  • 打赏
  • 举报
回复
说的有道理
不过如果旋转后(换元),可以简化函数,也是可行的

不过确实题目太抽象了,
下次把题目再具体些,提供可行的解决方案,大家入手的思路更清晰些
  • 打赏
  • 举报
回复
求极值要考察导函数为0的点(需要解方程)和边界值,研究函数本身的变化趋势,和旋转没什么关系
test4ever 2009-01-13
  • 打赏
  • 举报
回复
[Quote=引用 39 楼 dlyme 的回复:]
...
在[0,pi/2]区间内再求S的最小值,这才得到理论上的最小矩形。
[/Quote]
我理解的这个区间上求最小值就是旋转的意思
在求解最小值的过程中,我认为是可以应用到旋转的思路的
所以我说又回到原先的思路了

不过我说的很表面拉,还是应该认真的证明一下,呵呵
豆笔来巡山 2009-01-12
  • 打赏
  • 举报
回复
UP大王.
  • 打赏
  • 举报
回复
[Quote=引用 38 楼 test4ever 的回复:]
如果是曲线,我想到一个解发供抛砖引玉

假设外接矩形的长宽分别为h,w
面积S = h*w;
为了使S最小,这里假设能求出曲线上距离最远的两点(设距离Vh),过两点作直线,在其法线方向上再次寻找最远两点(设距离Vw),
面积S = Vh*Vw,假设这个不是最小矩形(...明显不是..),这个就必须旋转了..又回到前面的想法了

[/Quote]
对于曲线,一样可以计算其最小外接/切矩形,也根本用不着旋转(那只是一种求近似解的思路,且精确度和复杂度都不容乐观)。
只是说曲线方程不同,得出来的面积函数也不同,无法找到一个万能的算法,所以前面才提到用多边形来逼近。

对于曲线方程y=f(x)(或者你用的是隐式方程f(x,y)=0)来说,假设其外接矩形某条边与x轴正向所成的角度为a
沿着与a和a+pi/2平行方向作切线,能够求得这段曲线在这两个方向的“边界值”(当然这需要求导计算,难易程度看曲线方程而定)。
根据四个“边界值”,就能得到外接矩形的面积函数S=g(a)
在[0,pi/2]区间内再求S的最小值,这才得到理论上的最小矩形。
test4ever 2009-01-12
  • 打赏
  • 举报
回复
to gbb21:
恩,我理解错了

to 各位LS
这个问题看来也只能这样做了,或者大家还有什么好的想法可以继续提

如果是曲线,我想到一个解发供抛砖引玉

假设外接矩形的长宽分别为h,w
面积S = h*w;
为了使S最小,这里假设能求出曲线上距离最远的两点(设距离Vh),过两点作直线,在其法线方向上再次寻找最远两点(设距离Vw),
面积S = Vh*Vw,假设这个不是最小矩形(...明显不是..),这个就必须旋转了..又回到前面的想法了

有没听说过点密度的空间索引,我觉得这个也许是一条新的思路.
rover___ 2009-01-12
  • 打赏
  • 举报
回复
问题对任意图形来说有点大了。
自己考虑“三角形”图形,外接矩形的长边需要与三角形长边平行。找“三角形”长边的思路:网格化“三角形”图形,找区域内最长线段的方向和尺度。

gbb21 2009-01-10
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 test4ever 的回复:]
引用 25 楼 superdullwolf 的回复:
输入条件不规则图形是怎么用数据结构描述的?
比塞尔曲线?点的集合?
不同描述方法答案是不同的.


是点的集合

回23楼,
这样的做法明显不能求得最小矩形(面积最小)
[/Quote]
(我是23楼的)我看了下,我发现我的的说法就是用了8楼的命题1,如果我的表述没有问题的话,那么我的做法是可以证明是正确的(其实8楼已经说了通过××来证明命题一,我也通过反证法得证,如果lz需要我可以写出来)。请问LZ说我显然是错误的,是不是对我的表述理解错误了?
zzwu 2009-01-10
  • 打赏
  • 举报
回复
图形放在下面:
http://g1a46.mail.126.com/a/j/dm3/main.jsp?sid=rAmbJEooDRZtTqLSzpoowtVkfLKJjWXO
zzwu 2009-01-10
  • 打赏
  • 举报
回复
图形上传失败!图形是放在网盘上的。
加载更多回复(33)

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧