问题描述:找到包含点集Q的最小凸多边形。使得点集内的点均在凸多边形的边上或内部。
即集合内任意两点的连线均在凸多边形内部。
输入:平面上的n个点的集合Q
输出: CH(Q):Q的convexhull
(一)蛮力法思路:
找到点集内的内部点去掉,剩余未边界点。
内部点的判断:只要其中三点A,B,C构成的三角形包含的点P则P为内部点...
分类:
其他好文 时间:
2014-11-26 16:28:17
阅读次数:
184
题目大意:给出n个凸多边形,求这些多边形的面积的交。
思路:犯傻了。。以后看到凸多边形第一时间就要想到半平面交啊。。多明显啊,半天愣着没想出来。
CODE:
#include
#include
#include
#include
#include
#include
#define MAX 6100
#define EPS 1e-10
#define DCMP(...
分类:
其他好文 时间:
2014-11-22 17:33:23
阅读次数:
169
1、虽然很多显卡已经底层支持凹多边形,但是仍然了解凸多边形组合成凹多边形
2、先保存原先的边角标志:开始绘制图多边形,因为是由两个凸多边形组合成一个凹多边形,所以第一个凸多边形的最后一条边留缺口,接着的凸多边形的开始边留缺口,这样子就能组合成凹多边形。原理:glEdgeFlag(GL_FALSE);标记从该顶点出发的边为非边界。这样子绘制的时候,从该顶点出发的线段不会绘制,只会绘制到达该顶点的边...
分类:
其他好文 时间:
2014-11-09 18:09:05
阅读次数:
223
半平面交算法及简单应用半平面:一条直线把二维平面分成两个平面。半平面交:在二维几何平面上,给出若干个半平面,求它们的公共部分半平面交的结果:1.凸多边形(后面会讲解到)2.无界,因为有可能若干半平面没有形成封闭3.直线,线段,点,空(属于特殊情况吧)算法:1:根据上图可...
分类:
编程语言 时间:
2014-11-01 21:38:39
阅读次数:
229
【catalan数】10076 - 凸多边形分割Time Limit: 1000MSMemory Limit: 32768KB这题不能用通项公式我忘记了mod不支持除法我忘记了mod不支持除法 1 # include 2 # include 3 using namespace std; 4 cons...
分类:
其他好文 时间:
2014-10-25 21:29:01
阅读次数:
317
那个叫啥,半平面交。。。第一次写于是只能按照惯例,orz hzwer去~~~把一个凸多边形搞成好多条线段,于是题目就变成了一堆线段的半平面交。。。怎么感觉比仙人掌还简单一点的说。。。就是有点长 1 /*************************************************....
分类:
其他好文 时间:
2014-10-24 18:34:12
阅读次数:
176
对于凸多边形,很容易计算,如下图,以多边形的某一点为顶点,将其划分成几个三角形,计算这些三角形的面积,然后加起来即可。已知三角形顶点坐标,其三角形积可以利用向量的叉乘来计算。对于凹多边形,如果还是按照上述方法划分成三角形,如下图,多边形的面积 = S_ABC + S_ACD + S_ADE, 这个面...
分类:
其他好文 时间:
2014-10-24 01:36:35
阅读次数:
323
题意:有n个瞭望塔构成一个凸n边形,敌人会炸毁一些瞭望台,剩下的瞭望台构成新的凸包。在凸多边形内部选择一个点作为总部,使得敌人需要炸毁的瞭望塔最多才能使总部暴露出来。输出敌人需要炸毁的数目。分析:在炸毁同样数量的瞭望塔时,如何爆破才能使暴露出的面积最大。那就是集中火力炸掉连续的几个瞭望塔。直觉上是这...
分类:
其他好文 时间:
2014-10-23 01:22:54
阅读次数:
350
题意:给出一个凸n边形,求多边形内部一点使得该点到边的最小距离最大。分析:最小值最大可以用二分。多边形每条边的左边是一个半平面,将这n个半平面向左移动距离x,则将这个凸多边形缩小了。如果这n个半平面交非空,则存在这样距离为x的点,反之则不存在。半平面交的代码还没有完全理解。和凸包类似,先对这些半平面...
分类:
其他好文 时间:
2014-10-21 11:52:38
阅读次数:
152
一、应用场景:地图应用中判断一个位置是否在一个区域内。我曾经应用在百度地图上,代码为js实现。据我了解,目前百度地图api已经提供该功能。二、概要:1、行政区划边界是多边形;2、多边形分为凸多边形和凹多边形;3、应用:产生随机数据(即一个平面坐标)在制定的行政区划边界以内(即多边形内),在正式情况下...
分类:
其他好文 时间:
2014-10-18 20:56:15
阅读次数:
148