ImageVerifierCode 换一换
格式:PPT , 页数:72 ,大小:2.57MB ,
资源ID:8481939      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-8481939.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ACM程序设计计算几何基础.ppt)为本站会员(lxhqcj)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

ACM程序设计计算几何基础.ppt

1、ACM程序设计,杭州电子科技大学 刘春英 ,2019/6/29,2,今天,,你 了吗?,AC,2019/6/29,3,每周一星(4):,07053410陈晟,2019/6/29,4,第五讲,计算几何初步 (Computational Geometry Basic),2019/6/29,5,第一单元,线段属性,2019/6/29,6,2019/6/29,7,2019/6/29,8,2019/6/29,9,2019/6/29,10,2019/6/29,11,2019/6/29,12,2019/6/29,13,2019/6/29,14,思考:,1、传统的计算线段相交的方法是什么?2、传统方法和本方法

2、的区别是什么?,2019/6/29,15,特别提醒:,以上介绍的线段的三个属性,是计算几何的基础,在很多方面都有应用,比如求凸包等等,请务必掌握!,2019/6/29,16,第二单元,多边形面积和重心,2019/6/29,17,基本问题(1):,给定一个简单多边形,求其面积。 输入:多边形(顶点按逆时针顺序排列) 输出:面积S,2019/6/29,18,思考如下图形:,2019/6/29,19,Any good idea?,2019/6/29,20,先看最简单的多边形三角形,2019/6/29,21,三角形的面积:,在解析几何里, ABC的面积可以通过如下方法求得:点坐标 = 边长 = 海伦公

3、式 = 面积,2019/6/29,22,思考:此方法的缺点:,计算量大,精度损失,更好的方法?,2019/6/29,23,计算几何的方法:,在计算几何里,我们知道,ABC的面积就是“向量AB”和“向量AC”两个向量叉积的绝对值的一半。其正负表示三角形顶点是在右手系还是左手系。,ABC成左手系,负面积,ABC成右手系,正面积,2019/6/29,24,大功告成:,Area(A,B,C)= 1/2 * (AB) (AC)= /2 特别注意:以上得到是有向面积(有正负)!,Xb X a Yb Y a,Xc X a Yc Y a,2019/6/29,25,凸多边形的三角形剖分,很自然地,我们会想到以

4、P1为扇面中心,连接P1Pi就得到N-2个三角形,由于凸性,保证这些三角形全在多边形内,那么,这个凸多边形的有向面积:A=sigma(Ai) (i=1N-2),2019/6/29,26,凹多边形的面积?,2019/6/29,27,依然成立!,多边形面积公式:A=sigma(Ai) (i=1N-2),结论:“有向面积”A比“面积”S其实更本质!,2019/6/29,28,任意点为扇心的三角形剖分:,我们能把多边形分成N-2个三角形,为什么不能分成N个三角形呢? 比如,以多边形内部的一个点为扇心,就可以把多边形剖分成 N个三角形。,P0,P1,P2,P6,P5,P4,P3,2019/6/29,29

5、,前面的三角剖分显然对于多边形内部任意一点都是合适的!,我们可以得到: A=sigma(Ai) ( i=1N ) 即:A=sigma /2( i=1N ),Xi X0 Yi Y0,X(i+1) X0 Y(i+1) Y0,2019/6/29,30,能否把扇心移到多边形以外呢?,2019/6/29,31,既然内外都可以,为什么不设P0为坐标原点呢?,现在的公式?,2019/6/29,32,简化的公式:,A=sigma /2 ( i=1N ),Xi Yi,X(i+1) Y(i+1),面积问题搞定!,2019/6/29,33,基本问题(2):,给定一个简单多边形,求其重心。 输入:多边形(顶点按逆时针

6、顺序排列) 输出:重心点C,2019/6/29,34,从三角形的重心谈起:,三角形的重心是:(x1+x2+x3) / 3,(y1+y2+y3) / 3,可以推广否?,Sigma(xi)/N , sigma(yi)/N (i=1N) ?,2019/6/29,35,看看一个特例:,2019/6/29,36,原因:,错误的推广公式是“质点系重心公式”,即如果认为多边形的质量仅分布在其顶点上,且均匀分布,则这个公式是对的。 但是,现在多边形的质量是均匀分布在其内部区域上的,也就是说,是与面积有关的!,2019/6/29,37,Solution:,剖分成N个三角形,分别求出其重心和面积,这时可以想象,原

7、来质量均匀分布在内部区域上,而现在质量仅仅分布在这N个重心点上(等假变换),这时候就可以利用刚才的质点系重心公式了。 不过,要稍微改一改,改成加权平均数,因为质量不是均匀分布的,每个质点代表其所在三角形,其质量就是该三角形的面积(有向面积!),这就是权!,2019/6/29,38,公式:,C=sigma(Ai * Ci) / A (i=1N) Ci=Centroid( O Pi Pi+1)= (O + Pi +Pi+1 )/3C=sigma(Pi +Pi+1)(Pi Pi+1) ) /(6A),全部搞定!,2019/6/29,40,第三单元,凸包( Convex Hull ),2019/6/2

8、9,41,2019/6/29,42,2019/6/29,43,2019/6/29,44,2019/6/29,45,2019/6/29,46,2019/6/29,47,2019/6/29,48,2019/6/29,49,2019/6/29,50,2019/6/29,51,2019/6/29,52,2019/6/29,53,2019/6/29,54,2019/6/29,55,2019/6/29,56,2019/6/29,57,2019/6/29,58,2019/6/29,59,2019/6/29,60,2019/6/29,61,2019/6/29,62,2019/6/29,63,2019/6/29

9、,64,2019/6/29,65,2019/6/29,66,2019/6/29,67,2019/6/29,68,凸包模板:,/xiaoxia版 #include #include #include typedef struct double x;double y; POINT;POINT result102; /保存凸包上的点 POINT a102; int n,top;double Distance(POINT p1,POINT p2) /两点间的距离 return sqrt(p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y); double Mul

10、tiply(POINT p1,POINT p2,POINT p3) /叉积 return (p2.x-p1.x)*(p3.y-p1.y)-(p2.y-p1.y)*(p3.x-p1.x); int Compare(const void *p1,const void *p2) POINT *p3,*p4;double m;p3=(POINT *)p1; p4=(POINT *)p2; m=Multiply(a0,*p3,*p4) ;if(m0) return 1;else if(m=0 ,Any question?,2019/6/29,70,课后作业:,ACM ProgrammingExercise(5)_Geometry,2019/6/29,71,下一讲:,并查集,2019/6/29,72,Welcome to HDOJ,Thank You ,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报