第7讲 计算几何基础和实例分析.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7讲 计算几何基础和实例分析

计算几何基础和实例分析 矢量 包含关系 凸包 矢量 矢量 矢量 矢量 矢量的运算——叉积的应用(折线段的拐向判断) 对于有公共端点的线段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为对角顶点的矩形内 设有:Pi、Pj、Pk三点,判断条件描述为: Min(xi,xj) = xk = Max(xi,xj) and Min(yi,yj) = yk =Max(yi,yj) 矢量 矢量的运算——叉积的应用(判断两线段是否相交) 通过快速排斥测试和快速跨立测试进行判断 快速排斥测试 设以线段P1P2位对角线的矩形为R,以线段Q1Q2为对角线的矩形为T,如果R和T不相交,则两线段不会相交。 快速跨立测试 若两线段相交,则必然相互跨立对方。 当P1P2跨立Q1Q2时 (P1-Q1)*(Q2-Q1)*(Q2-Q1)*(P2-Q1)=0 当Q1Q2跨立P1P2时 (Q1-P1)*(P2-P1)*(P2-P1)*(Q2-P1)=0 矢量 应用示例分析 在平面直角坐标系中,任意给出四个点的坐标值,前两组和后两组分别确定两条直线。请判断两条直线的关系: ① 若是同一条线,输出“LINE” ② 若两条直线平行,输出“NONE” ③ 若两条直线相交,输出交点坐标 输入格式:第一行一个数据n表示输入数据的组数,以后n行(每行8个数据)表示两条直线的数据 输出格式:对每组输入给出对应输出 [提示:] 用两点式推出直线方程 考虑两点式确定的直线不一定有斜率,所以使用直线方程的一般形式:ax+by+c=0 输入样例 3 1 1 2 2 3 3 4 4 1 1 2 2 1 2 2 1 1 1 3 3 2 1 4 3 输出样例 LINE POINT 1.50 1.50 NONE END OF OUTPUT 0701 计算几何基础和实例分析 矢量 包含关系 凸包 包含关系 判断图形是否包含在矩形中 判断矩形是否包含点 只需判断该点的坐标是否夹在矩形的上下边和左右边之间 判断线段、折线、多边形是否在矩形中 因为矩形是一个凸集,所以只需判断所有的端点是否都在矩形中即可 判断矩形是否在矩形中 只需比较矩形的左右边界和上下边界即可判断 判断圆是否在矩形中 充要条件:圆心在矩形中,并且圆的半径小于等于圆心到矩形四边距离的最小值 包含关系 判断图形是否包含在多边形中 判断点是否在多边形中 判断点P是否在多边形中的基本思想:以点P为端点,向左方作射线L,L的左端必定在多边形外;考虑沿着L从无穷远处开始从左到右移动,遇到与多边形的第一个交点时进入到多边形,第二个交点是离开多边形,可以推断出,当L和多边形的交点数目C为奇数时,P点在多边形中,C为偶数时,P点在多边形外。 4种特殊情况 包含关系 判断图形是否包含在多边形中 判断线段是否在多边形中 ① 必要条件一:线段的两个端点都在多边形内,但由于多边形可能为凹,所以这不能成为判断的充分条件。 ②必要条件二:线段和多边形的所有边都不内交。注:两线段内交是指两线段相交且交点不在两线段的端点) ③线段和多边形交于线段的两端点并不会影响线段是否在多边形内;但是如果多边形的某个顶点和线段相交,还必须判断两相邻交点之间的线段是否包含于多边形内部。 包含关系 判断图形是否包含在多边形中 判断线段是否在多边形中的基本思想 求出所有和线段相交的多边形的顶点 按照X-Y坐标排序(X坐标小的排在前面,对于X坐标相同的点,Y坐标小的排在前面,这种排序准则也是为了保证水平和垂直情况的判断正确) 排序后,相邻的两个点就是在线段上相邻的两交点,如果任意相邻两点的中点也在多边形内,则该线段一定在多边形内。 包含关系 包含关系 判断图形是否包含在多边形中 判断折线是否在多边形内: 只要判断折线的每条线段是否都在多边形内即可。 判断多边形是否在多边形内 只要判断多边形的每条边是否都在多边形内即可。 判断矩形是否在多边形内 将矩形转化为多边形,然后再判断是否在多边形内。 判断圆是否在多边形内 只要计算圆心到多边形的每条边的最短距离,如果该距离大于等于圆半径则该圆在多边形内。 包含关系 包含关系 包含关系应用示例 A Pilot in Danger Sample Input 4 -1.0 -1.0 2.0 -1.0 2.0 2.0 -1.0 2

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档