任意多边形求交算法?

mm407 2010-07-19 01:06:49
怎么求任意 多边形的交的区域的顶点集合 啊?
用gdi的Crgn类的intersection只能求一个Crgn,怎么抽取出顶点顺序集合。。
或者用其它的方法快速的算出来,不用太底层,能实现即可
...全文
302 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
littleplane 2010-07-20
  • 打赏
  • 举报
回复
我觉得你这个比较麻烦,因为任意多边形相交出来的是多个相交区域;如果都是凸多边形还好办一些。你看一下相关算法吧;我记得以前看过凸多边形的求法。
m_tornado 2010-07-20
  • 打赏
  • 举报
回复
不明白什么是顶点的集合,不过CRgn应该有这样的数组吧
一名程序员 2010-07-20
  • 打赏
  • 举报
回复
用GetRegionData不现实。
用GDI+的Region::GetData试试。
Icedmilk 2010-07-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 mm407 的回复:]
引用 3 楼 jameshooo 的回复:
RGN就是一堆RECT的集合,调用GetRegionData就可以获得所有的RECT,那些RECT的顶点不就是你要找的顶点吗

那顺序怎么获取呢, 顺序不对就成了不同的多边形了。
[/Quote]
可不可以逐行扫描,找出最左和最右的点?
mm407 2010-07-19
  • 打赏
  • 举报
回复
自己顶,,,求高手
mm407 2010-07-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jameshooo 的回复:]
RGN就是一堆RECT的集合,调用GetRegionData就可以获得所有的RECT,那些RECT的顶点不就是你要找的顶点吗
[/Quote]
那顺序怎么获取呢, 顺序不对就成了不同的多边形了。
hastings 2010-07-19
  • 打赏
  • 举报
回复
这个算法不会,mark~~~~
jameshooo 2010-07-19
  • 打赏
  • 举报
回复
RGN就是一堆RECT的集合,调用GetRegionData就可以获得所有的RECT,那些RECT的顶点不就是你要找的顶点吗
饭fan有引力 2010-07-19
  • 打赏
  • 举报
回复
难度超出本人水平,飘过
饭fan有引力 2010-07-19
  • 打赏
  • 举报
回复
友情帮顶

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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