CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  专题开发/技术/项目 >  数据结构与算法

平面上多边形边的最小间距算法

楼主akiko(弥弥)2002-11-18 20:54:09 在 专题开发/技术/项目 / 数据结构与算法 提问

给定平面上一组不相交也无包含关系的多边形,多边形的边绝大多数都是水平或垂直边,只有少数45度,135度的边。  
  e1是多边形1中的一条边,e2是多边形2中的一条边,给定一个最小间距S。  
  求:所有间距小于S的边组(边组中的2条边属于不同的多边形)。  
   
  有没有效率高一点的算法??? 问题点数:100、回复次数:4Top

1 楼lins(Anders*小明)回复于 2002-11-18 23:54:31 得分 100

我大概的看了一下!有一个大概的思路。如下:  
  由于大多数边是水平或垂直的,可以用两组平行线来做。其中一组是垂直平行线如下:第一条线在最左端的多边形的左端点。两条平行线的距离是s。这样每次向右平移一条边,如果有两个不属于同一个多边形的而且垂直的边在这两条平行线中,那么这两条边的距离小于s。同理可以找到水平的线。对于45度,135度的边,可以用一个对角线长为s的正方形,来平移查找。  
  不知道行不行?我的电脑有问题,那位大哥可以实现一下。Top

2 楼akiko(弥弥)回复于 2002-11-19 21:31:23 得分 0

补充说明一下,两条边间距的概念:  
                有两条边边1和边2,p1是边1上一点,p2是边2上一点,则p1p2是一条线段,当p1p2的长度最小时这个长度就是边1和边2的间距。  
   
  感谢lins提供的的思路,我想想.  
  能否再提示提示,头一回做这样的算法,没什么经验.Top

3 楼akiko(弥弥)回复于 2002-11-27 20:32:38 得分 0

把您的思路改进一下:把多边形的顶点按X坐标从小到大排列,如果有相临X坐标的差小于s,则检查在这相临X坐标上的垂直边的距离。对水平边的处理类似,对于斜边也只有扩展成正方形(以斜边为对角线作正方形,再把这正方形外扩s作为结果),检测落在正方形内的边。  
  这样怎么样?Top

4 楼akiko(弥弥)回复于 2002-12-04 21:58:20 得分 0

这么久了没人回复,感谢lins(*有为青年*)   提供的思路,给分了!Top

相关问题

  • 请问谁有判定平面多边形相交的算法(急)?
  • 请教多边形填充算法
  • 请教:求任意简单多边形面积的算法
  • 请教:两个简单多边形是否相交的算法
  • 2D多边形投影算法求解.立马加分!在线...
  • 请教:判断一个简单多边形是否在另一个多边形之内的算法
  • 请教一个矩形与闭合多边形求交运算的算法
  • ★求:两个不规则多边形的交集,并集,补集的算法.
  • 有没有好的求点是否在凹多边形内的算法??
  • 关于平面内包含N个点的凸多边形的附加问题

关键词

  • 间距
  • 算法
  • 坐标
  • 多边形
  • 正方形
  • 平行线
  • 边
  • x坐标
  • 垂直
  • 思路

得分解答快速导航

  • 帖主:akiko
  • lins

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo