- 1、本文档共72页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[2018年最新整理]ACM课件(lecture_05)计算几何基础
ACM程序设计 杭州电子科技大学 刘春英 acm@hdu.edu.cn 今天, 你 了吗? 每周一星(4): 第五讲 计算几何初步 (Computational Geometry Basic) 第一单元 线段属性 思考: 1、传统的计算线段相交的方法是什么? 2、传统方法和本方法的区别是什么? 特别提醒: 以上介绍的线段的三个属性,是计算几何的基础,在很多方面都有应用,比如求凸包等等,请务必掌握! 第二单元 多边形面积和重心 基本问题(1): 给定一个简单多边形,求其面积。 输入:多边形(顶点按逆时针顺序排列) 输出:面积S 思考如下图形: Any good idea? 先看最简单的多边形——三角形 三角形的面积: 在解析几何里, △ABC的面积可以通过如下方法求得: 点坐标 = 边长 = 海伦公式 = 面积 思考:此方法的缺点: 计算量大 计算几何的方法: 在计算几何里,我们知道,△ABC的面积就是“向量AB”和“向量AC”两个向量叉积的绝对值的一半。其正负表示三角形顶点是在右手系还是左手系。 大功告成: Area(A,B,C)= 1/2 * (↑AB) × (↑AC) =∣ ∣/2 特别注意: 以上得到是有向面积(有正负)! 凸多边形的三角形剖分 很自然地,我们会想到以 P1为扇面中心,连接P1Pi就得到N-2个三角形,由于凸性,保证这些三角形全在多边形内,那么,这个凸多边形的有向面积: A=sigma(Ai) (i=1…N-2) 凹多边形的面积? 依然成立!!! 多边形面积公式:A=sigma(Ai) (i=1…N-2) 任意点为扇心的三角形剖分: 我们能把多边形分成N-2个三角形,为什么不能分成N个三角形呢? 比如,以多边形内部的一个点为扇心,就可以把多边形剖分成 N个三角形。 前面的三角剖分显然对于多边形内部任意一点都是合适的! 我们可以得到: A=sigma(Ai) ( i=1…N ) 即:A=sigma∣ ∣/2 ( i=1…N ) 能否把扇心移到多边形以外呢? 既然内外都可以,为什么不设P0为坐标原点呢? 简化的公式: A=sigma∣ ∣/2 ( i=1…N ) 基本问题(2): 给定一个简单多边形,求其重心。 输入:多边形(顶点按逆时针顺序排列) 输出:重心点C 从三角形的重心谈起: 三角形的重心是: (x1+x2+x3) / 3,(y1+y2+y3) / 3 看看一个特例: 原因: 错误的推广公式是“质点系重心公式”,即如果认为多边形的质量仅分布在其顶点上,且均匀分布,则这个公式是对的。 但是,现在多边形的质量是均匀分布在其内部区域上的,也就是说,是与面积有关的! Solution: 剖分成N个三角形,分别求出其重心和面积,这时可以想象,原来质量均匀分布在内部区域上,而现在质量仅仅分布在这N个重心点上(等假变换),这时候就可以利用刚才的质点系重心公式了。 不过,要稍微改一改,改成加权平均数,因为质量不是均匀分布的,每个质点代表其所在三角形,其质量就是该三角形的面积(有向面积!),——这就是权! 公式: C=sigma(Ai * Ci) / A (i=1…N) Ci=Centroid(△ O Pi Pi+1) = (O + ↑Pi +↑Pi+1 )/3 C=sigma((↑Pi +↑Pi+1)(↑Pi ×↑Pi+1) ) /(6A) 第三单元 凸包( Convex Hull ) 凸包模板: Any question? 课后作业: 《ACM Programming》Exercise(5)_Geometry 下一讲: 并查集 Welcome to HDOJ Thank You ~ //xiaoxia版 #include stdio.h #include math.h #include stdlib.h typedef struct { double x; double y; }POINT; POINT result[102]; //保存凸包上的点 POINT a[102]; 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 Multiply(POINT p1,POINT p2,POINT p3) //叉积 {
您可能关注的文档
- [2018年最新整理]802C电气安装调试1.doc
- [2018年最新整理]8013A数控车轮车床(Fin).pptx
- [2018年最新整理]802DslNCPARAMETER参数.ppt
- [2018年最新整理]802DSL调试步骤.ppt
- [2018年最新整理]8051系列单片机C程序设计完全手册.doc
- [2018年最新整理]805信号与系统.doc
- [2018年最新整理]8141_00452_2009_7_教育统计与测量.doc
- [2018年最新整理]80669_安装工程识图与施工工艺(电气)课件1.ppt
- [2018年最新整理]81微观经济学.ppt
- [2018年最新整理]8-群落的组成与结构.ppt
- 2025-2026学年初中英语鲁教版五四学制2012八年级上册-鲁教版五四学制2012教学设计合集.docx
- 2025年跨境电商物流可视化管理技术在应对跨境电商物流服务需求多样化中的应用报告.docx
- 城市轨道交通TOD开发模式创新对城市风貌塑造的影响报告.docx
- 2025年跨境电商物流可视化管理平台应用策略研究报告.docx
- 2025-2026学年初中英语鲁教版五四学制2024六年级下册-鲁教版五四学制2024教学设计合集.docx
- 2025年奢侈品类目消费行为数据分析报告.docx
- “双碳”目标下2025年绿色金融产品创新政策建议与实施路径报告.docx
- 房地产市场成交数据2025年房地产市场消费者偏好归因研究报告.docx
- 2025年跨境电商物流可视化技术应用现状与趋势分析报告.docx
- 2025年跨境电商物流可视化技术应用在跨境物流行业品牌推广中的实践报告.docx
文档评论(0)