版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
快速凸包算法第1页,共24页,2023年,2月20日,星期一第二章二维凸包第2页,共24页,2023年,2月20日,星期一2.4凸包的快速算法主要思想点集S的凸包是取决于凸包边界附近的点逐步丢掉凸包内部的点,只关注凸包附近的点,从而提高算法的效率最好情况O(nlogn)、最坏情况O(n2)第3页,共24页,2023年,2月20日,星期一2.4凸包的快速算法算法过程取两个极端点,它们是最右最下点pdr和最左最上点pul有向直线pdrpul将整个凸包被划分为右凸包和左凸包对右凸包和左凸包分别进行递归递归设S1是严格在直线pdrpul右边的点集(S1可能是空集)在S1中寻找距离直线pdrpul最远的点,作为pdrpul右边的一个极端点b连接pdr和b
,及b
和pul
把pdr右侧的点集记为A,pul右侧的点集的点记为B对边pdr
b和点集A、对边bpul
和点集B分别递归调用依次连接凸包上的顶点,得点集S1的凸包,即点集S的右凸包类似地,计算出点集S的左凸包,从而得到整个点集S的凸包第4页,共24页,2023年,2月20日,星期一2.4凸包的快速算法算法过程取两个极端点,它们是最右最下点pdr和最左最上点pul有向直线pdrpul将整个凸包被划分为右凸包和左凸包对右凸包和左凸包分别进行递归第5页,共24页,2023年,2月20日,星期一2.4凸包的快速算法算法过程递归设S1是严格在直线pdrpul右边的点集(S1可能是空集)在S1中寻找距离直线pdrpul最远的点,作为pdrpul右边的一个极端点b连接pdr和b
,及b
和pul
把pdrb右侧的点集记为A,bpul右侧的点集的点记为B对边pdrb和点集A、对边bpul
和点集B分别递归调用第6页,共24页,2023年,2月20日,星期一2.4凸包的快速算法最好情况出现在每次划分均是平衡的,O(nlogn)最坏情况出现在每次划分点的分布都很极端,O(n2)第7页,共24页,2023年,2月20日,星期一2.5Graham算法20世纪60年代末贝尔实验室需要求解10,000个点的凸包O(n2)的方法太慢1972年Graham出O(nlogn)的二维凸包算法第8页,共24页,2023年,2月20日,星期一2.5Graham算法基本思想在凸包内部找到一个点o如S中任何三个不共线的点的重心,O(1)将o作为极坐标的中心,计算每个点的极角θ对S中的点按θ升序排列(如pi
,pi+1,
pi+2),O(nlogn)计算相邻三点转角的凹凸性,删除内凹的点O(n)当点集内不再包含内凹的点时,得到凸包第9页,共24页,2023年,2月20日,星期一2.5Graham算法以极端点pi为初始点,依次对相邻三个点pi
,pi+1和pi+2,计算pi
pi+1×pi+1pi+2如果在z轴上的投影大于零,即(pi
pi+1×pi+1pi+2)z>0说明在pi+1
处左转弯,多边形在该点上外凸,暂时保留这三点前进一步,同样去判断相邻三个点pi+1,pi+2和
pi+3如果(pi
pi+1×pi+1pi+2)z≤0说明在pi+1处右转弯,多边形在该点上内凹,把pi+1点从多边形边界中删除后退一步,同样去判断相邻三个点pi-1,pi和
pi+2时间复杂度为线性O(n)第10页,共24页,2023年,2月20日,星期一凸包计算方法对比极端边算法O(n3)礼品包裹算法O(n2)快速算法最好情况O(nlogn)、最坏情况O(n2)Graham算法排序计算O(nlogn)、执行时间O(n)总的时间复杂度O(nlogn)第11页,共24页,2023年,2月20日,星期一第三章凸包扩展第12页,共24页,2023年,2月20日,星期一3.1多面体两个集合是同胚的(homeomorphic)指它们之间存在一个连续的一一映射并且这个映射的逆映射也是连续的两个同胚的集合允许它们各自拉伸和扭曲,但只要不撕裂,其结果仍然同胚如果任一集合被撕裂了,映射的连续性便被破坏,两个集合就不再同胚了第13页,共24页,2023年,2月20日,星期一3.1多面体两个集合是同胚的(homeomorphic)三黑点的邻域都不能同胚于一个三维的半开半闭的半球a和b中黑点的邻域同胚于两个接触于一条线或一个点的三维的半开半闭的半球c中黑点的邻域是同胚于半个二维开圆盘第14页,共24页,2023年,2月20日,星期一3.1多面体3.1.1多面体定义三维空间中的多面体是由有限个平面多边形围成的区域,其边界满足下列三个条件多面体表面上的每一对面,它们或者是分离的、或者有一个公共顶点、或者有一条公共的边如果把多面体看成一个实心的实体,表面上任一点的足够小的邻域同胚于一个三维的如下定义的半开半闭的半球。半开半闭的半球定义为x2+y2+z2<r2和z≤0的交,其中r为半球的半径多面体表面是连通的,即表面上任意两点可通过完全在表面上的路径连接第15页,共24页,2023年,2月20日,星期一3.1多面体如果把多面体看成厚度为零的多边形围成的空间,第二个条件也可写为多面体表面上任一点,它在表面上的邻域同胚于一个开圆盘,开圆盘是二维的开圆如果一个表面上的每一个点都满足这个条件,那么这个表面就被称为二维流形(2Dmanifold)第16页,共24页,2023年,2月20日,星期一3.1多面体第3个条件表示顶点和边组成的图是连通的排除那些有“浮在”表面里面的顶点和边的物体第17页,共24页,2023年,2月20日,星期一3.1多面体多面体可以存在“通孔(hole)”,从多面体表面的一面通到另一面多面体允许有任意多个这样的孔,孔的数目叫做这个体的亏格(genus)亏格为0的多面体在拓扑上同胚于球亏格为1的多面体在拓扑上同胚于圆环面凸多面体又叫做多胞形,为了强调它们是三维的,有时也叫做三胞形多胞形是凸多面体,连接它上面的任意两个点的线段都在多胞形内部凸多边形在每一个顶点处是凸的多胞形在每一条边处的所有二面角(dihedral)都是凸的(≤π)二面角是指空间中两个相邻接的面在它们的公共边上的内夹角对于任意的多胞形,顶点处的所有多边形内角之和小于2π这是每个顶点处是凸的必要条件,但不是充分条件第18页,共24页,2023年,2月20日,星期一3.1多面体3.1.2正则多面体只存在五种不同的正多面体正四面体、正六体、正八面体、正十二面体和正二十面体也叫柏拉图体(Platonicsolids),因为柏拉图在他的《蒂迈欧篇(Timaeus)》中讨论过它们第19页,共24页,2023年,2月20日,星期一3.1多面体3.1.3多面体的欧拉公式1758年,LeonardEuler亏格为0的多面体的顶点数、边数和面数规律顶点数和面数之和总是比边数多2正方体有8个顶点和6个面,8+6=14,比边数12大2用v、e、f分别表示多面体顶点、边和面的数目欧拉公式:v–e+f=2定理3.1对于一个顶点数v=n,边数与面数分别为e和f的亏格为0的多面体,有v–e+f=2,且e和f都为O(n)第20页,共24页,2023年,2月20日,星期一3.2三维凸包算法3.2.1礼品包裹算法礼品包裹算法适用于任意维点集的凸包构建三维礼品包裹算法是二维的直接扩展二维礼品包裹算法从凸包的一条边开始三维礼品包裹算法从凸包的一个面f开始选择面f上的一条边e将f所在的平面π,沿着e朝着点集折叠,直至碰到第一个点p,则{p,e}成为凸包的一个新的三角面片重复上述操作第21页,共24页,2023年,2月20日,星期一3.2三维凸包算法3.2.1礼品包裹算法算法起始需要确定凸包上的一个面f首先把点集中的所有三维点投影到yz坐标平面上得到一个二维点集然后求这个点集在二维空间中的一条极端边,要求该边的一个端点是z坐标最小的一个点设这极端边的两个端点对应的三维点为pi和pj,则pipj为三维空间中点集凸包的一条边构造一平面π通过pipj且其法线垂直x坐标轴再对π绕着pipj旋转,直至碰到第一个点p则{p,pipj}便是平面f第22页,共24页,2023年,2月20日,星期一3.2三维凸包算法3.2.1礼品包裹算法确定一个面片需要O(n)时间设F为凸包上面片的数目三维礼品包裹算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025高考语文专项复习:文学类文本阅读之物象的作用
- WPS办公应用(高级)习题及答案 ch2 创意演示稿的制作
- 强化支行内部管理-为支行的生存发展铺平道路
- 2023年高压自动分段器资金筹措计划书
- 建设用地重金属污染土壤处置后安全利用技术规范(征求意见稿)编制说明
- Python程序设计实践- 习题及答案 ch11 实验7 列表与元组
- 名句名篇默写(解析版)-2024-2025学年九年级语文上学期期中试题分类汇编(山东专用)
- 高三数学教学经验交流发言稿(14篇)
- 节约资源倡议书范文(30篇)
- 小学英语学期工作计划(20篇)
- 江苏省徐州市铜山区2023-2024学年九年级上学期期中英语试卷(含答案解析)
- 大数据处理服务合同
- 河北省唐山市滦南县2024-2025学年七年级上学期10月期中数学试题
- GB/T 44653-2024六氟化硫(SF6)气体的现场循环再利用导则
- GB/T 44540-2024精细陶瓷陶瓷管材或环材弹性模量和弯曲强度的测定缺口环法
- 道路交通安全法律法规
- 外研版(2019) 选择性必修第四册 Unit 5 Into the Unknown Understanding ideas教案
- 中班健康课件《认识五官》
- 2024~2025学年度八年级数学上册第1课时 等边三角形的性质和判定教学设计
- 2024-2030年中国BPO行业发展分析及发展前景与趋势预测研究报告
- 文明礼仪伴我行文明礼仪从我做起课件
评论
0/150
提交评论