polygon相关内容

算法找到一个点,一个不规则的多边形

Imagagine我有类似如下的多边形: 我要寻找一个C#算法与我能找到一个点(可能是middlepoint或还随机点)的任何多边形内部。 有关发现质量中心我用下面的算法: 私人三维点GetPolyLineCentroid(DBOBJECT pObject,双pImageWidth,双pImageHeight) { 的Point2D [] poin ..
发布时间:2015-11-30 16:26:38 C#/.NET

打破一个矩形随机形的多边形

正如标题所说,我需要打破一个矩形随机形的多边形。 例如,7个多边形: + -------- + -------- + | \ | 2 | | \ 1 |''--..__ | | ------ | 5 | | 3 / \ ________ | | / / \ 6 | | __ / 4 / \ ______ | | / 7 | + ----- + ----------- + 我不知道是否 ..
发布时间:2015-11-30 16:21:27 C/C++

如何检查是否一个点(x,y)是一个多边形内的笛卡尔坐标系中?

这个问题已经有了答案在这里: 在多边形点又名点击测试 C#点在多边形 由于随机多边形制定与N线方程在直角坐标系中,有没有被用于检查点的会员(X,Y)?任何标准公式 简单的解决办法是让所有的线公式和检查点X低于这条线,上面的线和其他线路,等权但是,这可能是乏味的。 我应该注意到,多边形可与任何数量的边的任何形状的,并且可以凹面或凸面。 为了方便我已经添加了这些实用的功能: 浮动斜率(C ..
发布时间:2015-11-30 16:18:02 C/C++

找到点形成的凸多边形最大子集

我在寻找一种算法寻找点(由大我的意思是在数量上),形成从给定的点的凸多边形的最大的子集。 我想用DP,这可能是可以解决的,但我不知道。 是否有可能做到这一点的为O(n ^ 3)? 其实我只需要最大的子集的大小,所以它并不需要有唯一解 编辑: 只是为了让这个简单, 由于输入: 在2D点集 希望的输出:形成一个凸多边形,像本例中的输出是5个点的最大数量(ABHCD是可能的凸多边形之一) ..
发布时间:2015-11-30 16:10:21 C/C++

算法来产生随机2D多边形

我不知道如何解决这个问题。我不知道它是多么复杂的任务。我的目标是有一种算法,任何多边形。我的唯一的要求是该多边形不复杂(即两侧不相交)。我用Matlab做的数学,但抽象的东西是值得欢迎的。 任何援助/方向? 编辑: 我想更多的code,可能产生的任何多边形甚至这样的事情: 解决方案 注:我已经更新,而不是一对夫妇的我的一个解决方案,只是作为输入侧的所需数量的多边形答案,非直观的“幻数 ..
发布时间:2015-11-30 16:04:47 C/C++

什么是找两个多边形之间的最短距离笛卡尔的最快方法

我的 1红多边形说和 50随机放置蓝色多边形 - 它们都位于地理 2D空间。什么是最快/最快algorithim找到一个红色的多边形和它最接近的蓝色面之间的最短距离? 记住,这是不采取构成多边形作为值的顶点的点来测试距离,因为它们可能不一定是最接近的点的简单情况。 那么,到底 - 答案应该还给最接近蓝色多边形奇异红色 这是难度比它的声音! 解决方案 我怀疑是不是计算红色的,每个蓝色的之间 ..
发布时间:2015-11-30 15:59:27 C#/.NET

对角线多边形内或在其外?

我已经连续三个点多边形的,说的P1,P2,P3。现在我想知道P1和P3之间的正交是否是内部的多边形或多边形之外。 我通过采取三个矢量V1,V2和V3这样做。而在多边形的点p1点之前说P0。 V1 =(P0 - P1) V2 =(P2 - P1) V3 =(P3 - P1) 参照我也知道我的整个多边形是顺时针或逆时针。并据此我选择向量v1和v2。不过还是我得到了一些问题。我显示一种情况,我 ..
发布时间:2015-11-30 15:39:44 C/C++

除以自交的多边形(C code)

我想将一个自交的多边形成简单的多边形。我有边缘,并保存在数据结构中的交叉点(连接列表)。 因此​​,这里就是一个例子。我有一个连接列表与x,边缘的y坐标和交叉处的多边形的点。根据在此图象的多边形的这将是::(1) - > (2) - >(3) - >(7)。我正在试图做的是让简单的多边形(三角形在这里)的边缘。在这种情况下:: 1,2,7 / 3,4,5 / 5,6,7 解决方案 我认为的宾 ..
发布时间:2015-11-30 15:39:34 C/C++

如何建立从MATLAB中无序边缘数据的多边形填充?

我想用边缘数据来创建一个多边形(X,Y每个点边的坐标)是无序,然后我想填补这个多边形一些颜色。 任何建议,我怎么能做到这一点? 解决方案 如果您的多边形是凸,您可以用函数 CONVHULL 并使用绘图功能 PATCH 绘制多边形。例如: X = [0 1 0 1]。 %#顶点的无序x坐标 Y = [0 1 1 0]; %#对应顶点y坐标 hullIndices = convhull(X, ..
发布时间:2015-11-30 15:20:27 C/C++

有效性算法用于创建一个非自相交多边形

作为一个扩展和部分答案我的线程我写了一个简单的给定一个点的集合(与XY坐标)算法可以形成一个非自相交多边形 要求:给定任意一组以不同的点的坐标总是可能构造一个规则或不规则的,非自相交多边形 的算法: 假定有一个包含所有顶点的集合V 1)排序的所有V中的顶点由X坐标 2)想象直线(我们将称之为“除法”)平行于x轴而从第一节点开始扩展到无限大并除以/分割的顶点成两组 3)现在考虑两组: ..
发布时间:2015-11-30 15:01:45 C/C++

包含原始详细的多边形简体中文(或平滑)多边形

我有一个详细的2D多边形(重presenting一个地理区域)是一个非常大的组顶点的定义。我正在寻找一种算法,将简化和平滑多边形,(减少顶点数量)与约束的面积的所得多边形必须包含详细的多边形的所有顶点。 有关背景下,这里有一个复杂的多边形边缘的例子: 我的研究: 我发现道格拉斯 - 普克算法,这将减少顶点的数量 - 但由此产生的多边形不包含所有原始多边形的顶点。看到这篇文章的维基百科 ..
发布时间:2015-11-30 14:44:06 C/C++

检查,如果多边形是多边形内

昨天我一直在寻找,检查点是一个多边形内,发现这个伟大的脚本:但今天在工作中有人告诉我,我们的客户需要检查,如果一个多边形是另一个多边形内。我想知道是否有一个公式,我可以走,比方说,两个坐标(而不是一个检查点),以及这两个坐标生成一个矩形,并检查该矩形是一个多边形内。 我不知道如果我问一个愚蠢的问题(在高中老师常说“没有愚蠢的问题,没有谁不问只有傻子”),但是如果你不明白我完全只是一点,我会很感激 ..
发布时间:2015-11-30 14:24:09 前端开发

生成切割面的新多边形(2D)

我只能和这个小问题,我的算法来解决,这并不适用于所有的情况。是否有人有一个想法如何解决这个问题? 下面是一个例子多边形: 正式描述 我们有个在CW为了确定多边形的列表。我们也可以查询某个点是否是一个切入点与 is_cut(P),其中 P 是一个给定的点。现在,我们要计算所致,这种“腰斩”。新的多边形 的算法应该这样做: 输入: {A,C,B,C 4,C,C5,D,C6,E,C,F C ..
发布时间:2015-11-30 14:18:41 C/C++

算法用于在多边形产生圆角

我在寻找一种算法,让我从一个多边形创建圆角。 在输入时,我得到了重新presents多边形(红色线)点的数组和输出,即重新$ P $点阵列psents与圆角(黑线)的多边形。 我也想有一种方法来控制每个角的半径。 我已经尝试过用贝塞尔和分区,但它不是我要找的。贝塞尔和细分的平滑所有的多边形。我想要的东西,它只是使边角圆润。 有人知道任何好的算法,这样做? 我工作在C#中,但code具有独立于任 ..
发布时间:2015-11-30 14:17:28 C#/.NET

找到一个轴对齐矩形多边形内

我要寻找一个好的算法找到一个(不一定是凸)多边形内部的轴对齐矩形。一个最大的矩形将是很好的,但不是必需的 - 任何算法,可以找到一个“相当好”矩形就可以了。 多边形可能也有漏洞,但任何指针算法,仅适用于凸或简单的多边形将是有益的了。 在我的实现,相交测试的双方是相当便宜,但“点面”测试是昂贵的,因此理想情况下应尽量减少。 解决方案 不知道是否可以,虽然扩大到非凸。 ..
发布时间:2015-11-30 14:16:25 C/C++

无孔多边形联盟

林寻找一些很容易(我知道多边形的工会不是一件容易操作,但也许有人会用relativly容易一点我在正确的方向上)在合并两个相交的多边形算法。多边形可能是凹无孔,也输出面不应该有它的漏洞。多边形psented逆时针的方式重新$ P $。我的意思是psented上的图片$ P $。正如你可以看到即使是在多边形我不需要它在输出工会的孔。输入多边形是肯定的无孔。我觉得无孔应该是比较容易做,但我仍然不有一个 ..
发布时间:2015-11-30 14:16:13 C/C++

计算正多边形的顶点坐标

我写一个程序,我需要绘制的两侧任意数量的多边形,每一个被翻译由给定的公式动态变化。还有涉及到一些相当有趣的数学,但我被困在这万阿英,蒋达清。 我如何计算正多边形的顶点具有原点坐标(中,所有角相等),只给双方,最好的(但不是neccessarily)数量在中心? 例如:一个六边形可能有以下几点(均为浮动 S): (1.5,0.5 *的Math.sqrt(3)) (0,1 *的Math.sqrt ..
发布时间:2015-11-30 14:13:56 C#/.NET

减少行点数

我在寻找算法,以减少折线的LOD,线节点(循环与否)。 在简单的话,我想利用高分辨率的海岸线数据,并能降低其LOD hundred-或千倍,以使其在小型。 我发现多边形简化算法(但要求三角形)和拉普拉斯平滑,但这并不似乎正是我需要的。 解决方案 我发现,相当可能会使用的解决方案,为的 Ramer - 道格拉斯 - 普克算法。它的使用在 PostGIS的 我已经发布我自己的实现在Python ..
发布时间:2015-11-30 14:01:56 C/C++

我怎么可以拆分多边形由一条线?

如下所示, 是否有可能通过线路拆分多边形? (分为两个多边形)。如果该行不走一路之隔的多边形它会失败。 这可能吗?如果是的话,我将如何做到这一点? 解决方案 我最近要做到这一点。只是走多边形不会为凹多边形的工作,如在你的图。下面是我的算法,灵感来自格雷纳 - 霍曼的草图的多边形裁剪算法。拆分为两个比多边形裁剪容易,更难。比较容易,因为你只对夹线,而不是一个矩形或多边形的另一个;更难,因 ..
发布时间:2015-11-30 13:59:37 C/C++

测试多边形是否简单或复杂

有关定义为(X,Y)点的序列多边形,我怎么能检测是否是复杂的或没有?一个复杂的多边形有交点本身,如下所示: 有没有比检查每对一个更好的解决方案,这将有O(N 2 )?的时间复杂度 解决方案 有扫描方法,可以判断这个速度远远超过蛮力的方法。此外,它们可以被用来打破非简单的多边形分成多个多边形简单 有关详细信息,请参见这篇文章,尤其是这的 code测试一个简单的多边形。 ..
发布时间:2015-11-30 13:58:41 C/C++