半平面求交算法.doc

半平面求交算法.doc

ID:57667157

大小:110.00 KB

页数:7页

时间:2020-08-31

半平面求交算法.doc_第1页
半平面求交算法.doc_第2页
半平面求交算法.doc_第3页
半平面求交算法.doc_第4页
半平面求交算法.doc_第5页
资源描述:

《半平面求交算法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、•Step1:Separatetheh-planesintotwosets.Onehaspolaranglesof(-½π,½π],theotherhasthoseof(-π,-½π]∪(½π,π].•将半平面分成两部分,一部分极角范围(-½π,½π],另一部分范围(-π,-½π]∪(½π,π]•Step2:Considerthesetofh-planesin(-½π,½π](theothersetshouldalsogothroughstep3and4similarly).Sortthembythepolarangle.Fortheh-planeswiththes

2、amepolarangle,wecankeeponlyonedown(deleteallothers)accordingtotheconstantoftheseh-planes•考虑(-½π,½π]的半平面(另一个集合类似地做Step3/4),将他们极角排序。对极角相同的半平面,根据常数项保留其中之一。•Step3.1:Startingfromtwoh-planeswiththeleastpolarangle,computetheirintersection.Pushthemtwointoastack.•从排序后极角最小两个半平面开始,求出它们的交点并且将他们押入栈

3、。•Step3.2:Eachtime,addonemoreh-planebyincreasingorderofpolarangles,andcalculatetheintersectionofitandthetoph-planeinstack.•每次按照极角从小到大顺序增加一个半平面,算出它与栈顶半平面的交点。7•Step3.3:Ifthisintersectionistotherightoftheintersectionoftoptwoh-planesinstack,wepopthestackonce.•如果当前的交点在栈顶两个半平面交点的右边,出栈(pop)。u

4、pperhull上壳lowerhull下壳•Step4.1:Intersectionsofadjacenth-planepairsinstackformhalfaconvexpolygon.Forthetwosets,wehavetwohalves–(-½π,½π]givesanupperhulland(-π,-½π]∪(½π,π]givesalowerhull.•相邻半平面的交点组成半个凸多边形。我们有两个点集,(-½π,½π]给出上半个,(-π,-½π]∪(½π,π]给出下半个p4p3p1p2upperhull上壳lowerhull下壳•Step4.2:Atth

5、ebeginning,fourpointersp1,p2,p3andp4indicateleftmost/rightmostedgesofbothupperandlowerhulls.•p1andp3moverightwards,whilep2andp4walksleftwards.•初始时候,四个指针p1,p2,p3andp4指向上/下凸壳的最左最右边•p1,p3向右走,p2,p4向左走p3p4p1p2•Step4.3:Atanytime,iftheleftmostintersectionisagainstthefeasibleregionprovidedbyp1

6、orp3,wearesuretheleftmostoneistoberemoved.•Naturally,p1orp3walksrightwardstoitsadjacentedge.7•任意时刻,如果最左边的交点不满足p1/p3所在半平面的限制,我们相信这个交点需要删除•p1或p3走向它右边的相邻边p3p2p1p4p3p4p2p1•Thejudgmentholdsanalogouslyforrightmostintersectionwithp2andp4.•类似地我们处理最右边的交点p3p4p2p1•Step4.4:Dotheaboveremovingrepeat

7、edlyuntilthereisnomoreupdate.•重复运作直到不再有更新出现——迭代•Everythingexceptsorting(Step2)inS&Ialgorithmremainlinear–O(n)runningtime.Usuallyweusequick-sort.ThetotalcomplexityisO(nlogn),withfairlysmallconstantfactorhidden.•除了Step2中的排序以外,S&I算法的每一步都是线性的。通常我们用快速排序实现Step2,总的时间复杂度为O(nlogn),隐蔽其中的常数因子很小

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。