- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算几何
所以,我们需要控制误差。 const double eps = 1e-8; //无穷小量 int sgn(double x) { //判断正、负和零 return x-eps ? -1 : xeps; } 此时一个二维凸包的程序应该能够完美地写出来。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 原来如此~ Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 思路: 逆时针遍历凸包的边,判断该点是否在该边左侧 (叉乘判别法) 其他: 面积判别法 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 方法一: 射线法 从判定点出发,任意引一条射线,若和边界相交奇数次,说明点在多边形内;否则在多边形外。 方法二: 转角法 把多边形每条边的转角加起来,如果是360度,说明在多边形内;如果是0度,说明在多边形外;如果是180度,说明在多边形边界上。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 射线法流程图 图是用来观赏的 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 计科1110 王鑫磊 2013年11月3日 QQ:331829605 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 在现代工程和数学领域,计算几何在图形学、机器人技术、超大规模集成电路设计和统计等诸多领域有着十分重要的应用。 ACM竞赛中,计算几何问题的输入一般是关于一组几何物体(如点、线)的描述;输出常常是有关这些物体的问题的回答,如直线是否相交,点围成的面积等问题 我们的ppt也以ACM竞赛为背景 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 给定二维平面上的两条线段,每条线段给定两个端点。 问题: 判断是否存在交点。 若存在,求两线段的交点。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 先利用端点求出线段对应直线 列方程组联立求解 判断交点是否在两条线段上 常用的解析几何的做法! Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 向量、点都可以用一个二元组表示,即矢量 Pt line_cross_line (Pt a, Pt b, Pt c, Pt d) { double x, y, Sd=(b-a)^(d-a), Sc=(c-a)^(b-a); x = (d.x*Sc + c.x*Sd)/(Sc+Sd); y = (d.y*Sc + c.y*Sd)/(Sc+Sd); return Pt (x,y); } Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 还有其他解决计算几
文档评论(0)