计算几何
文章平均质量分 79
青竹梦
在你没有尽全力之前,永远不知道最强的自己有多强!!!
展开
-
poj-3130-3335-求多边形的核
求多边形的核一般使用半平面交的方法。 如图所示: 在对多边形的每一个边进行延长,然后每条变把多边形分成两半。 图中红色的区域就是核所在的区域。红色区域上的点可以看到多边形的任何一个顶点。 //下面的代码是我在网上找到的模版#include #include #include #define eps 1e-8 using namespace std; const int MAXN原创 2014-02-18 09:21:12 · 2034 阅读 · 0 评论 -
poj-1556-The Doors-dij+线段相交
计算几何:求两条线段是否相交。 求两条线段是否相交只需要求两条线段的两个短点是否都在另外一条线段的两侧即可。 图论:dij求最短路 #include #include #include #include #include using namespace std; #define maxn 200000 #define eps 0.00001 #define zero(x) ((fabs(x)原创 2014-03-24 17:03:22 · 1171 阅读 · 0 评论 -
poj-2318-TOYS-计算几何
判断一个点在一条直线的哪一侧的时候,可以使用两种方法。 1,用叉积判左右 2,使用直线的斜率判断左右 #include #include #include #include using namespace std; int pan(int x1,int y1,int x2,int y2) { return x1*y2-x2*y1; } int uu[5500]; int ll[550原创 2014-03-24 13:36:06 · 1311 阅读 · 0 评论 -
poj-3304-Segments-线段与直线相交
判断线段与直线是否相交,注意精度问题。 #include #include #include #include #include using namespace std; #define eps 0.00000001 #define zero(x) ((fabs(x)<eps)?0:x) struct segn { double x1,y1; double x2,y2; }seg原创 2014-03-24 14:47:31 · 916 阅读 · 0 评论 -
poj-1696-Space Ant-极角排序
就是求点逆时针旋转的次序。 第一次选取最左下角的点。然后每次选取一个极角最小的点。 #include #include #include #include #include #include using namespace std; #define maxn 200000 #define eps 0.00001 #define zero(x) ((fabs(x)<eps)?0:x) #defi原创 2014-03-25 16:03:59 · 1042 阅读 · 0 评论