社区
C#
帖子详情
求教:如何确定最小凸四边形
yidichaxiang
2011-05-25 10:41:36
在第一象限里有许多无规则散布的点,
现在需要求出能把所有点圈到四边形里的最小四边形
只需考虑凸四边形的情况;
要求效率高,若是好算法,另加分,先谢谢啦
...全文
423
19
打赏
收藏
求教:如何确定最小凸四边形
在第一象限里有许多无规则散布的点, 现在需要求出能把所有点圈到四边形里的最小四边形 只需考虑凸四边形的情况; 要求效率高,若是好算法,另加分,先谢谢啦
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cosmo_sei
2011-06-02
打赏
举报
回复
1 找到包围所有点的最小凸多边形A
2 找到包围该多边形的最小凸四边形B
步骤1算法参考文档:
http://wenku.baidu.com/view/fcbf711efad6195f312ba64e.html
步骤2算法参考文档:
http://www.lw23.com/pdf_895366d9-703d-47ec-a820-f6cdf56786c9/lunwen.pdf
程序并非一时即可实现,我觉得这是个可以用来做计算机专业毕业论文的题目lol
PS:这贴和.net论坛分区里的一帖一样?
yidichaxiang
2011-05-26
打赏
举报
回复
[Quote=引用 17 楼 zhenniubile 的回复:]
求出所有点坐标, 然后把(X,Y)数字最大的,前四个点求出.
进行连线,就最大了.
[/Quote]
要求的是最小凸四边形
ZHENNIUBILE
2011-05-26
打赏
举报
回复
求出所有点坐标, 然后把(X,Y)数字最大的,前四个点求出.
进行连线,就最大了.
yidichaxiang
2011-05-26
打赏
举报
回复
╮(╯▽╰)╭,期待牛人出现,
先说下目前的思路:
先以最左点为例,在XY坐标中,先找到最左点,然后找到第二最左点,两点连线,看有没有不满足的点,然后再连线,直到找到一条能把所有点划到左边的连线,
由于最左点Y值不定可以画出1或两条连线,以此类推就可以确定四边形的四条边,然后就是计算面积大小了
兔子-顾问
2011-05-25
打赏
举报
回复
[Quote=引用 11 楼 yidichaxiang 的回复:]
引用 8 楼 wuyazhe 的回复:
先遍历,找到x,y的最大最小值的点,分别找到屏幕水平方向的上下左右4个点,
不论如何,总有一个对角点的连线是这个凸四边形的对角2顶点,选择对角线较长的那条,然后找到这条线最远的左右2侧的2个点,连起来。可以么?
找到x,y的最大最小值的点:是指实际点还是最大最小组合出来的四个新点(可能是实际点)
[/Quote]
就是边界的四个实际点。x最小的那个点,x最大的那个点,y最小的那个点,y最大的那个点。
yidichaxiang
2011-05-25
打赏
举报
回复
[Quote=引用 10 楼 jayinit 的回复:]
又不是了!!引用 9 楼 zanfeng 的回复:
引用 3 楼 jayinit 的回复:
你发的帖子名称怎么是红色的??
9494
这个比较感兴趣。
[/Quote]
只是偶然,刚才我也再是了下,没出来;
yidichaxiang
2011-05-25
打赏
举报
回复
[Quote=引用 8 楼 wuyazhe 的回复:]
先遍历,找到x,y的最大最小值的点,分别找到屏幕水平方向的上下左右4个点,
不论如何,总有一个对角点的连线是这个凸四边形的对角2顶点,选择对角线较长的那条,然后找到这条线最远的左右2侧的2个点,连起来。可以么?
[/Quote]
找到x,y的最大最小值的点:是指实际点还是最大最小组合出来的四个新点(可能是实际点)
堆代码的爱因斯坦
2011-05-25
打赏
举报
回复
又不是了!![Quote=引用 9 楼 zanfeng 的回复:]
引用 3 楼 jayinit 的回复:
你发的帖子名称怎么是红色的??
9494
这个比较感兴趣。
[/Quote]
足球中国
2011-05-25
打赏
举报
回复
[Quote=引用 3 楼 jayinit 的回复:]
你发的帖子名称怎么是红色的??
[/Quote]9494
这个比较感兴趣。
兔子-顾问
2011-05-25
打赏
举报
回复
先遍历,找到x,y的最大最小值的点,分别找到屏幕水平方向的上下左右4个点,
不论如何,总有一个对角点的连线是这个凸四边形的对角2顶点,选择对角线较长的那条,然后找到这条线最远的左右2侧的2个点,连起来。可以么?
yidichaxiang
2011-05-25
打赏
举报
回复
可能,我没有表述清楚,散布点自身已呈现凸四边形,我想要求的是抱住所有点的最小四边形,
threenewbee
2011-05-25
打赏
举报
回复
[Quote=引用 5 楼 wuyazhe 的回复:]
看错题目了。。。
那么
先建立包围盒,然后挑选4个点组成四边形。看是否是凸四边形,如果不是,将内角超过180,最小的那条边,一个顶点向内寻找,找到某个点使得内角<180。就ok。行不行?
[/Quote]
wuyazhe的办法不错。
兔子-顾问
2011-05-25
打赏
举报
回复
看错题目了。。。
那么
先建立包围盒,然后挑选4个点组成四边形。看是否是凸四边形,如果不是,将内角超过180,最小的那条边,一个顶点向内寻找,找到某个点使得内角<180。就ok。行不行?
threenewbee
2011-05-25
打赏
举报
回复
我想了一个办法,不知道是否可行。
首先用质心法求出一个最小的圆。然后找4个离圆最近的点,连起来。
堆代码的爱因斯坦
2011-05-25
打赏
举报
回复
你发的帖子名称怎么是红色的??
兔子-顾问
2011-05-25
打赏
举报
回复
a,b,c,d,e,f顶点
c在a->b的右侧
d在b->c的右侧
...
这样
兔子-顾问
2011-05-25
打赏
举报
回复
点在线的左侧还是右侧你会把。
随便多边形一个顶点开始,顺序走一圈,下一个点总在前2个点的同侧,就是凸多边形。
yidichaxiang
2011-05-25
打赏
举报
回复
[Quote=引用 13 楼 wuyazhe 的回复:]
引用 11 楼 yidichaxiang 的回复:
引用 8 楼 wuyazhe 的回复:
先遍历,找到x,y的最大最小值的点,分别找到屏幕水平方向的上下左右4个点,
不论如何,总有一个对角点的连线是这个凸四边形的对角2顶点,选择对角线较长的那条,然后找到这条线最远的左右2侧的2个点,连起来。可以么?
找到x,y的最大最小值的点:是指实际点还是最大最小组合出来的四个新点(可能……
[/Quote]
想了下,不能,总有一个对角点的连线是这个凸四边形的对角2顶点,选择对角线较长的那条,然后找到这条线最远的左右2侧的2个点,连起来的话连被弃用的最大最小点都没包进去
bios8086
2011-05-25
打赏
举报
回复
多边形逼近
匈牙利科学院发明过一个算法
先找出最距离最长的两个点然后找出 点到直线距离最长的 依次递减
求教
:如何解决DS18B20毛刺
求教
:解决DS18B20
求教
:散点集合的外界凸多边形,算法
寻找散点集合的外界凸多边形的算法,求赐教
求教
: 关于isin函数
求教
: 关于isin函数)欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 i...
求教
:***vba textbox文本框内关键字下拉选择**
求教
:***vba textbox文本框内关键字下拉选择**各位大佬这个要怎么写?
求教
:控制行业回归和个体回归的符号相反的情况
求教
:控制行业回归和个体回归的符号相反的情况
C#
111,092
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章