随笔分类 -  计算几何

HDU 4087 三维上的平移缩放旋转矩阵变化
摘要:题目大意:就是根据它给的程序的要求,不断平移,缩放,旋转三维的点,最后计算出点的位置这里主要是要列出三种转换方式的齐次矩阵描述平移translate tx ty tz1 0 0 00 1 0 00 0 1 0txty tz 1缩放scale a b ca 0 0 00 b 0 00 0 c 00 0... 阅读全文
posted @ 2015-07-26 16:47 Love风吟 阅读(488) 评论(0) 推荐(0)
POJ 3384
摘要:题目大意:给定一个多边形,给定一个圆的半径,要求在多边形中放置两个同样半径的圆,可相互覆盖,但不能超出多边形的范围,希望两个圆的面积覆盖和最大输出任意一组满足的圆的圆心点如果两个圆不相互覆盖,那么必然达到最大面积如果相互覆盖,可以换一种方式考虑,因为两个圆是一样的,两个圆的距离越长,那么相互覆盖的面... 阅读全文
posted @ 2015-07-23 00:09 Love风吟 阅读(296) 评论(0) 推荐(0)
POJ 3525 半平面交+二分
摘要:二分所能形成圆的最大距离,然后将每一条边都向内推进这个距离,最后所有边组合在一起判断时候存在内部点 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 using namespace std; 8 #def... 阅读全文
posted @ 2015-07-22 22:35 Love风吟 阅读(210) 评论(0) 推荐(0)
半平面交 求多边形内核问题
摘要:多边形的内核可以理解为:在多边形找到一块区域,使这块区域中的任何一个点都能够和多边形上的任意一点相连而不受到多边形上其他边的阻挡也可以抽象的理解为在这块区域中任意位置放一个旋转摄像头,这个摄像头可以监控多边形的整个区域多边形内核是否存在可以利用半平面交的思想去求解将多边形上的每一条边作为逆时针顺序的... 阅读全文
posted @ 2015-07-22 22:33 Love风吟 阅读(323) 评论(0) 推荐(0)
bzoj 1185 旋转卡壳 最小矩形覆盖
摘要:题目大意 就是求一个最小矩形覆盖,逆时针输出其上面的点这里可以看出,那个最小的矩形覆盖必然有一条边经过其中凸包上的两个点,另外三条边必然至少经过其中一个点,而这样的每一个点逆时针走一遍都满足单调性所以可以利用旋转卡壳的思想找到这样的三个点以每一条边作为基础,循环n次得到n个这样的矩形,找到其中面积最... 阅读全文
posted @ 2015-07-11 15:11 Love风吟 阅读(382) 评论(0) 推荐(0)
POJ 2187 求凸包上最长距离
摘要:简单的旋转卡壳题目以每一条边作为基础,找到那个最远的对踵点,计算所有对踵点的点对距离这里求的是距离的平方,所有过程都是int即可 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using names... 阅读全文
posted @ 2015-07-05 15:39 Love风吟 阅读(206) 评论(0) 推荐(0)
POJ 2002 几何+hash
摘要:题目大意:给定1000个点,寻找有多少组四点对能组成正方形这里的题目跟上一道做的找平行四边形类似但想法却又不相同的方法这里找任意2个点形成的一条边,那么可以根据这两个点,找到能和他们组成正方形剩下的两个点的位置,根据hash表去搜索,如果这两个位置存在自己需要的点,说明这种方案可行添加查找均交给ha... 阅读全文
posted @ 2015-06-01 19:46 Love风吟 阅读(281) 评论(0) 推荐(0)
POJ 1971 Parallelogram Counting
摘要:题目大意:给定1000个点,求有多少组4个点可以形成平行四边形这里可以找到一个特别关键的点在于如果能形成平行四边形,2个点的中点必然相交那么只要将所有点的中点都计算出来,然后排个序计算出现的次数即可,这里算中点可能会出现小数,可以直接不除以2,这样是中点的2倍也没问题 1 #include 2 #... 阅读全文
posted @ 2015-06-01 16:47 Love风吟 阅读(264) 评论(0) 推荐(0)
LA 3890 半平面交
摘要:二分查询答案,判断每一个新形成的向量合在一块能否形成半平面交 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 #define N 110 8 #define ep... 阅读全文
posted @ 2015-05-01 15:16 Love风吟 阅读(193) 评论(0) 推荐(0)
POJ 3348 最直接的凸包问题
摘要:题目大意:给定一堆树的点,找到能组合成的最大面积,一个物体占50面积,求最多放多少物体 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 const double eps = 1e-10; 7 const... 阅读全文
posted @ 2014-10-23 22:42 Love风吟 阅读(150) 评论(0) 推荐(0)
UVA 10652 凸包问题
摘要:1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 const double eps = 1e-10; 9 const int N = 610; 10 in... 阅读全文
posted @ 2014-10-20 12:53 Love风吟 阅读(175) 评论(0) 推荐(0)
POJ 2318
摘要:题目大意:箱子有一堆木板隔离开不同区域给定木板的起末点位置,和一堆物品入箱的坐标,最后来求每块区域的物品个数这里我们可以很容易得知,一个物品的点所在的区域,和前后两个木板形成的叉积值正负性是正好相反的,所以函数如下:bool inArea(Point a , Line L1 , Line L2){ ... 阅读全文
posted @ 2014-10-10 09:51 Love风吟 阅读(208) 评论(0) 推荐(0)
LA3263 一笔画
摘要:题目大意:依次给定多个点(要求第一个点和最后一个点重叠),把前后两个点相连求最后得到的图形的面的个数根据欧拉定理:设平面图的顶点数为V,边数为E,面数为F,则V+F-E = 2这里的E是指如果一条直线上被多个点分割,那么就算多条边所以我们要求出V和E的值先求点,已给定的点数,还要包括相连过程中相交得... 阅读全文
posted @ 2014-10-10 09:47 Love风吟 阅读(852) 评论(0) 推荐(0)
UVA 11178
摘要:问题描述:给定三角形的三个点,求三角形角三平分线连成的内部小三角形的三个点的坐标这里主要还是几何问题上的大量函数求解问题,这题的关键是经过两点的确定直线的交点求解问题,我们总是可以利用叉积解决大量问题通过叉积的比来得到那个方向的向量比例,最后得到点 1 #include 2 #include ... 阅读全文
posted @ 2014-10-08 10:54 Love风吟 阅读(232) 评论(0) 推荐(0)