[发明专利]一种基于多核架构的计算凸壳的并行算法有效
申请号: | 201210186883.0 | 申请日: | 2012-06-08 |
公开(公告)号: | CN103116593A | 公开(公告)日: | 2013-05-22 |
发明(设计)人: | 毕硕本;颜坚;毕胜杰;汪大;郭忆 | 申请(专利权)人: | 南京信息工程大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 南京众联专利代理有限公司 32206 | 代理人: | 顾进 |
地址: | 210044 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 多核 架构 计算 并行 算法 | ||
1.一种基于多核架构的计算凸壳的并行算法,其特征在于包括以下步骤:
(1)找到初始点集合的初始不完全凸壳,其各边用逆时针方向的有向边表示;
(2)根据初始不完全凸壳对点集合进行分类,找出各条有向边的所有外点;
(3)迭代地并行地生长初始不完全凸壳中的每一条有向边;
(4)删除最终所得凸壳上的非凸壳顶点。
2.根据权利要求1所述的基于多核架构的计算凸壳的并行算法,其特征在于,所述步骤(1)的实现方法是:找到沿x坐标、y坐标方向的四个极值点,删除这四个点中相同的点,剩余的点按逆时针方向围成的凸多边形即为初始不完全凸壳,记为LPBCH(S)。
3. 根据权利要求1所述的基于多核架构的计算凸壳的并行算法,其特征在于,所述步骤(2)的实现方法是:定义行列式 的值为点P(x, y)到向量P1P2(P1(x1, y1)、P2(x2, y2))的颜氏距离,将与初始不完全凸壳的各条有向边的颜氏距离大于0的所有点加入到该有向边的外点集合中,删除点集合中那些不在任何一条有向边右侧的点。
4.根据权利要求1~3中任意一项所述的基于多核架构的计算凸壳的并行算法,其特征在于,所述步骤(3)的实现方法是:对于不完全凸壳边链中的每一条有向边PiPi+1并行地进行迭代生长,所述迭代生长的过程为:
(a)若有向边PiPi+1的外点集合为空,则返回空点列;
(b)从有向边PiPi+1的外点集合中找出到该有向边的颜氏距离最大的点P,该点P必为点集的凸壳点;
(c)连接点Pi和点P,点P和点Pi+1,生成两条新的有向边PiP和PPi+1,对原有向边PiPi+1的外点集合按有向边PiP和PPi+1重新分类,分别得到有向边PiP和有向边PPi+1各自的外点集合;
(d)若有向边PiPi+1的外点集合中点的数量不大于MAXGROW的2倍,则转步骤(f);
(e)并行地迭代生长有向边PiP和PPi+1分别得到点列L1和L2,令点列L={Pi}∪L1∪{P}∪L2∪{Pi+1},转步骤(j);
(f)定义链表E来存储若干有向边,将PiP和PPi+1插入E;
(g)对于E中的每条有向边e,若其外点集合不为空,则按照(b)(c)两步的方法得到两条新的有向边e1和e2,以及 e1和e2的外点集合;从E中删除e,并在原来e的位置插入e1和e2,其中e1与e的起点相同;
(h)若(g)中任意一条新生成的有向边的外点集合不为空,则转步骤(g);
(i)删除E中第一条有向边,并令L为由E中各有向边的起点排列而成的点列;
(j)将点列L作为结果返回;
其中,(d)中的MAXGROW是进行并行、串行选择的阈值。
5.根据权利要求1所述的基于多核架构的计算凸壳的并行算法,其特征在于,所述步骤(4)的实现方法是:依次遍历步骤(3)得到的凸多边形点列中的每一点,设P为当前遍历点,R为P的前驱,Q为P的后继,如果R、P、Q三点共线,就从凸多边形点列中删除点P;经过对凸多边形点列的一次遍历,删除所有非凸壳顶点的点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京信息工程大学,未经南京信息工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210186883.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种微机电传声器芯片
- 下一篇:压电扬声器