随笔分类 -  计算几何

摘要:内容参考书籍——《算法竞赛入门经典训练指南》、《算法竞赛入门到进阶》 半平面就是平面的一半。 简单地说,半平面交问题就是给出若干个半平面,求他们的公共部分。每个半平面用一条有向直线表示。 有向直线的定义如下: 半平面交最终形成的凸多边形,沿逆时针顺序看,它的边的极角(或者斜率)是单调递增的。那么,可 阅读全文
posted @ 2019-10-10 17:20 DemonSlayer 阅读(441) 评论(0) 推荐(0)
摘要:参考书籍《算法竞赛入门到进阶》 最小圆覆盖问题:给定n个点的平面坐标,求一个半径最小的圆,把n个点全部包围,部分点在圆上。(两种算法:几何算法和模拟退火算法) 几何算法:(1)加第1个点P1。C1的圆心就是P1,半径为0。 (2)加第二个点P2。新的C2的圆心是线段P1P2的中心,半径为两点距离的一 阅读全文
posted @ 2019-10-03 23:56 DemonSlayer 阅读(3129) 评论(0) 推荐(1)
摘要:内容参考书籍——《算法竞赛入门经典训练指南》 圆上任意一点都拥有唯一的圆心角,所以在定义圆的时候可以加一个通过圆心角求坐标的函数。 直线和圆的交点。假定直线为AB,圆心为C,半径r。那么我们采用解方程组的方法计算交点。设交点为P=A+t(B-A),代入原方程 阅读全文
posted @ 2019-10-01 23:08 DemonSlayer 阅读(353) 评论(0) 推荐(0)
摘要:内容参考书籍——《算法竞赛入门经典训练指南》 例题1 题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2119 莫利定理(Morley's the 阅读全文
posted @ 2019-09-27 00:02 DemonSlayer 阅读(373) 评论(0) 推荐(0)
摘要:内容参考书籍——《算法竞赛入门经典训练指南》 在程序中,用顶点数组表示多边形,其中各个顶点按照逆时针顺序排列。 判断点是否在多边形内。采用转角法,基本思想是计算多边形相对于判定点转了多少度,具体来说,将多边形每条边的转角加起来,如果是360°,说明在多边形内;如果是0°,说明在多边形如果是180°则 阅读全文
posted @ 2019-09-25 23:06 DemonSlayer 阅读(1385) 评论(0) 推荐(1)
摘要:内容参考书籍——《算法竞赛入门经典训练指南》 在平面坐标系下,向量和点一样用两个数,x和y表示。判断相等使用“三态函数”dcmp,减少精度问题。另外,向量有一个所谓的“极角”,即从x轴正半轴旋转到该方向所需的角度。c标准库里的atan2函数就是用来求极角的,例如:向量(x,y)的极角就是atan2( 阅读全文
posted @ 2019-09-24 00:00 DemonSlayer 阅读(804) 评论(0) 推荐(0)