- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算几何----ACM国际大学生程序设计-Read
计算几何----ACM国际大学生程序设计 主讲:王树林 计算几何概述 一基本定义 采用Ed(或Rd)表示d维欧几里德空间,即具有度量 点 d元组(x1,….,xd) 线,线性簇 线段 凸集 凸壳 多边形 平面图 v-e+f=2 二计算几何中的问题 1)提取子集 在一批给定的对象中提取满足某种性质的子集。比如求点集的凸壳顶点的问题。 2)计算 计算给定集合的某几个几何参数的值。 3)判定 在提取子集和计算问题中都有判定问题。 比如,在点集S中询问是否存在距离大于d的点对。 三计算模型 规定RAM的原始运算如下: 1)算术运算 2)两个实数之间的比较 3)间接寻址及求根运算,三角函数运算,指数函数运算,对数函数运算。 执行每种运算耗费一个时间单位。 四常见计算几何基本问题 矢量的概念 矢量加减法 矢量叉积 折线段的拐向判断 判断点是否在线段上 判断两线段是否相交 判断线段和直线是否相交 判断矩形是否包含点 判断线段、折线、多边形是否在矩形中 判断矩形是否在矩形中 判断圆是否在矩形中 判断点是否在多边形中 判断线段是否在多边形内 判断折线是否在多边形内 判断多边形是否在多边形内 判断矩形是否在多边形内 判断圆是否在多边形内 判断点是否在圆内 判断线段、折线、矩形、多边形是否在圆内 判断圆是否在圆内 计算点到线段的最近点 计算点到折线、矩形、多边形的最近点 计算点到圆的最近距离及交点坐标 计算两条共线的线段的交点 计算线段或直线与线段的交点 求线段或直线与折线、矩形、多边形的交点 求线段或直线与圆的交点 凸包的概念 凸包的求法 基本问题(续) 矢量的概念: 如果一条线段的端点是有次序之分的,我们把这种线段称为有向线段(directed segment)。如果有向线段p1p2的起点p1在坐标原点,我们可以把它称为矢量(vector)p2。 矢量加减法: 设二维矢量P = ( x1, y1 ),Q = ( x2 , y2 ),则矢量加法定义为: P + Q = ( x1 + x2 , y1 + y2 ),同样的,矢量减法定义为: P - Q = ( x1 - x2 , y1 - y2 )。显然有性质 P + Q = Q + P,P - Q = - ( Q - P )。 基本问题(续) 矢量叉积: 计算矢量叉积是与直线和线段相关算法的核心部分。设矢量P = ( x1, y1 ),Q = ( x2, y2 ),则矢量叉积定义为由(0,0)、p1、p2和p1+p2所组成的平行四边形的带符号的面积,即:P × Q = x1*y2 - x2*y1,其结果是一个标量。显然有性质 P × Q = - ( Q × P ) 和 P × ( - Q ) = - ( P × Q )。一般在不加说明的情况下,下述算法中所有的点都看作矢量,两点的加减法就是矢量相加减,而点的乘法则看作矢量叉积。 叉积的一个非常重要性质是可以通过它的符号判断两矢量相互之间的顺逆时针关系: 若 P × Q 0 , 则P在Q的顺时针方向。 若 P × Q 0 , 则P在Q的逆时针方向。 若 P × Q = 0 , 则P与Q共线,但可能同向也可能反向。 基本问题(续) 折线段的拐向判断: 折线段的拐向判断方法可以直接由矢量叉积的性质推出。对于有公共端点的线段p0p1和p1p2,通过计算(p2 - p0) × (p1 - p0)的符号便可以确定折线段的拐向: 若(p2 - p0) × (p1 - p0) 0,则p0p1在p1点拐向右侧后得到p1p2。 若(p2 - p0) × (p1 - p0) 0,则p0p1在p1点拐向左侧后得到p1p2。 若(p2 - p0) × (p1 - p0) = 0,则p0、p1、p2三点共线。 基本问题(续) 基本问题(续) 判断点是否在线段上: 设点为Q,线段为P1P2 ,判断点Q在该线段上的依据是:( Q - P1 ) × ( P2 - P1 ) = 0 且 Q 在以 P1,P2为对角顶点的矩形内。前者保证Q点在直线P1P2上,后者是保证Q点不在线段P1P2的延长线或反向延长线上,对于这一步骤的判断可以用以下过程实现: ON-SEGMENT(pi,pj,pk) if min(xi,xj) = xk = max(xi,xj) and min(yi,yj) = yk = max(yi,yj) then return true; else return false; 特别要注意的是,由于需要考虑水平线段和垂直线段两种特殊情况,min(xi,
您可能关注的文档
- 知识体系构建.PPT
- 石油化工企业财产一切险-渤海财险.PDF
- 矿区科中心组学习记录要点学习时间2017年12月30日学习内容.DOC
- 研究和解决流动机械节能降耗工作中存在的问题-连云港港口集团.PPT
- 研究工作簿-香港航海学校.PPT
- 研究生学术论文参考文献格式-外国语言文化学院.DOC
- 研读新华社专访任正非-加快建设具有全球竞争力的世界一流黄金公司.DOC
- 硅窗气调包装与普通气调包装对茶树菇贮藏品质的影响-中国农学通报.PDF
- 硕士博士-上海第六人民医院.PPT
- 硬体与方法的结合数位化软体.PPT
- 水利水电工程质量检测员继续教育系统基础考试试题及答案(各种收集).pdf
- 毕业论文设计模板.pdf
- 2025年云南省寻甸县第五中学高三下学期教学质量监测(一)数学试题试卷含解析.doc
- 2025年云南省玉溪市师院附中高三数学试题寒假周考试卷含解析.doc
- 2025年云南省玉溪市新平一中高三第一次教学质量监测(4月)数学试题含解析.doc
- 2025年云南省玉溪市新平一中高三下学期考前模拟考试数学试题含解析.doc
- 2025年云南省宣威市第四中学招生全国统一模拟考试数学试题含解析.doc
- 2025年云南省元江民中高三下学期二模(4月)数学试题含解析.doc
- 2025年云南省元江县民族中学高三质量检查数学试题含解析.doc
- 2025年云南省沾益县第四中学下学期期中考高三试卷数学试题含解析.doc
最近下载
- HG∕T 20691-2017 高压喷射注浆施工技术规范(可复制版).pdf
- 商业计划书模板.ppt VIP
- 小学一年级体育与健康全册教案.pdf VIP
- 呼吸系统护理中的前沿技术与新进展.pptx
- 严禁教师违规收受学生及家长礼品礼金等行为的规定.docx
- 部编版三年级上册《道德与法治》教学计划.doc VIP
- 商业计划书模版-商业计划书.ppt VIP
- 气道净化护理(2023年中华护理学会团体标准).pptx VIP
- EN 13034-2005+A1-2009 液体化学品防护服.对液体化学品提供有限保护性能的化学防护服的性能要求(6型和PB[6]设备).pdf
- 小学英语语法大全.pptx VIP
文档评论(0)