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

 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号