求教 多边形(凹凸)顶点排序成逆时针或顺时针的问题

尧月 2011-06-13 04:28:57
如题,给定一系列的无序的点坐标,由于要画一个多边形出来,所以需要将点排序成顺时针或者逆时针,多边形有可能是凹或者凸。。。

求教啊!
...全文
1247 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chun63406974 2012-02-29
  • 打赏
  • 举报
回复
你好,我现在做个毕设,特别想知道如何能够解决任意多边形顶点排序的方法!~不知道你能不能跟我分享一下你的方法?63406974@qq.com这是我的邮箱,期待你的回复!谢谢
尧月 2011-06-16
  • 打赏
  • 举报
回复
按照3楼的想法来确实可以生成一个多边形,但是其结果可能不唯一。问题我已经解决,但是不是一般化的解决方法。还是谢谢两位啊!
  • 打赏
  • 举报
回复
设所有点的集合为Vs

1> 先找所有点的外凸包顶点,起始点为X坐标最小值的那个(如果有多个,那么就选Y坐标最小的),设这个凸包的点集合为Va,边集合为Ea。

2> 任意在Ea中选一条边e,从剩下的点集合(Vs-Va)中选取离e最近的点v,分别连接v和e的两个端点,并删除e,形成新的外包点和边集合。

3> 如此重复下去,一直到所有的点都被加入。
  • 打赏
  • 举报
回复
我觉得楼主这个问题应该再有一些限制条件,否则很多情况下会有多个解的情形出现,按照楼主问题的描述,应该是某个具体的应用时的情形,能否将问题更细化呢。
尧月 2011-06-13
  • 打赏
  • 举报
回复

33,009

社区成员

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

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