- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
并行计算-实验指导-实验05 计算几何.doc
实验5 计算几何
1 包 含 问 题 1
1.1 包含问题及其串行算法 1
1.2 包含问题并行算法 2
2 相交问题 4
2.1 两多边形相交问题及其串行算法 4
2.2 相交问题的并行算法 5
3 凸壳问题 6
3.1 凸壳问题及其串行算法 6
3.2 凸壳问题并行算法 7
小结 8
参考文献 8
附录 包含问题并行算法的MPI源程序 9
包 含 问 题
count=0
(2) while in do
if p is on Ei then
return true
else if y=py(x≤px) intersects Ei left q and q is not Ei low-end then
count=count+1
end if
end if
end while
(3) if ((count mod 2)=1) then
return true
else
return false
end if
End
算法的总运行时间为t(n)=O(n)。
1.2 包含问题并行算法
我们介绍两种简单方法来实现上面串行算法的并行化。一种方法是将串行算法中的步骤2并行化。假设系统有p个处理器,多边形有n条边,将n条边平均分配到这p个处理器中,每个处理器最多处理条边。具体的处理方法为过p点向x的负半轴方向做一条射线,判断:如果点是在边上则返回为;线与边无交点时返回0;如果有交点,那么就有2种情况,如果交点是边的下顶点,则返回为0,否则,即交点在边上,则返回为1;把一个处理器中的所有返回值加起来,然后将该值发送到主处理器(my_rank=0),最后主处理器根据点的个数来判断点与多边形的关系。
另一种方法同样也是将串行算法中的步骤2并行化。假设有p=2α-1个处理器,为正整数。p个处理器的编号从根开始自上而下,自左而右逐级向下推进。每个处理器存储多边形Q的一条边,边由其两个端点的迪卡尔坐标表示,点p的坐标为()。开始时,根读进,然后传送给树中的其余处理器。当接收到p的坐标时,他就确定:穿过p的射线是否和Q的边相交;对于特殊的情况需要利用图形学的知识处理之。如果条件满足,则产生“1”输出;否则为“0”。将个处理器的输出相加,若和为奇数,则p位于Q内;如果为偶数,则p位于Q外;如果和为,则输出p在多边形上。
算法17.2 多处理机上包含问题算法
输入:点p坐标(px,py);多边形Q的n条边E1,E2, ,…,En的两个端点坐标集合S
输出:点和多边形的位置关系:true(p位于Q内);false(p位于Q外)
Begin
(1) count=0
(2) for all Pj where 1≤j≤p par-do
resultj=0
end for
(3) for all Pj where 1≤j≤p par-do
for i=1 to do
if p is on Ei×p+j then
return resultj=
else
if y=py(x≤px) intersects Ei×p+j left q and q is not Ei×p+j low-end then
resultj= resultj+1
end if
end if
end for
end for
(4) for j=1 to p par-do Pj
sends resultj to P0
end for
for j=1 to p do
count= count+ resultj
end for
if ((count mod 2)=1) or (count=) then
return true
else return false
end if
End
在有p个处理器的情况下,上述算法的时间复杂度为O()。
MPI源程序请参见所附光盘。
2 相交问题
…,En的两个端点坐标集合S1,多边形Q的m条边
F1,F2,,…,Fm的两个端点坐标集合S2
输出:两个多边形是否相交:true(两多边形相交);false(两多边形不相交)
Begin
for i=1 to n do
for j=1 to m do
if (Ei intersects Fj ) then
return true
end if
end for
end for
return false
End
显然上述算法所需时间为O(mn)。
2.2 相交问题的并行算法
下面我们给出两多边形相交问题的朴素并行算法:对于多边形R的每一条边,要确定其是否与多边形Q相交;如果R的边中有一条边与Q相交,那么就可以断定多边形R与Q是相交的。假设R有n条边,Q有m条边,总共有p个处理器P1 ,P2 ,…,Pp。对于R中的每条边依次判断是否与Q相交。
算法17.4 两多边形
您可能关注的文档
最近下载
- 办公耗材类保证服务的措施.docx VIP
- 网招团队日常管理.pptx
- 阿兹海默症护理.pptx VIP
- 罐区设备设施风险分级管控清单.pdf VIP
- DB32T 4582-2023 宗教活动场所安全管理规范 .pdf VIP
- 专题03 2025年西城区高三一模作文“用功与有功” “如你所愿”导写(原题呈现 审题立意 素材积累 高分范文 类题迁移).docx VIP
- BATCH RELEASE CERTIFICATE(外贸出口BRC两个模板).doc
- (投标书范本)政府采购投标书.pdf VIP
- 专题02 2025年东城区高三一模作文“适合的与热爱的” “先声”导写(原题呈现 审题立意 素材积累 高分范文 类题迁移).docx VIP
- 沪教版九上化学 2.1 性质活泼的氧气第2课时 氧气的实验室制法与性质实验 课件(共17张PPT)(含音频+视频).ppt VIP
文档评论(0)