computational-geometry相关内容

4点凸包

我想一个算法,计算4个2D点的凸包。我已经看过了算法的广义问题,但我不知道是否有4个简单的解决方案。 我一直在四处抓挠纸上试图找出一种算法,但我有没有运气的时刻。 感谢。 解决方案 取三个点,并确定其三角形是顺时针还是逆时针:: triangle_ABC =(AY-BY)* CX +(BX-AX)*赛扬+(AX *通过-BX * AY) 有关右手坐标系中,该值将是正如果ABC是 ..
发布时间:2015-11-30 14:21:43 C/C++

如何找出几何平均

现在的问题是: 给定N点(在2D)与x和y坐标,找到一个点P(在N- 定的点),使得距离的总和与其它(N- 1)指向 P是最小 这点通常被称为几何平均。有没有什么有效的算法来解决这个问题,不是天真的 0其他(N ^ 2)吗? 解决方案 我解决了类似的东西了本地联机法官使用模拟退火一次。这是官方的解决方案,以及和程序得到了交流。 唯一不同的是,点我必须找到没有成为 N 给出点的一部分。 ..
发布时间:2015-11-30 14:21:01 C/C++

生成切割面的新多边形(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++

计算一个圆和一个三角形之间的交叉区域?

一个人如何计算一个三角形(指定为三(X,Y)对)之间的交叉区和一个圆(X,Y,R)?我做了一些搜索无果。这是工作,而不是学校。 :) 它看起来在C#中是这样的: 结构{的PointF VERT [3]; } 三角形; 结构{的PointF中心;漂浮半径; } 圈; //返回交集,例如面积: //如果圆圈中包含的三角形,三角形返回区 //如果三角形中包含了一圈,回圈的面积 //如果部分路口,可 ..
发布时间:2015-11-30 14:16:47 C/C++

无孔多边形联盟

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

分割点的平面分成相等的两半

鉴于在其中有n个点的2维平面。我需要生成分割平面,使得有n在另一侧上/ 2点和n / 2个点的直线的方程。 (顺便说一下这个不在家工作,我只是想解决的问题) 解决方案 我假设点是不同的,否则有可能甚至是这样的一条线。 如果点是不同的,那么这样的线总是存在,并有可能找到使用的确定的O(nlogn)时间的算法。 说的点是P1,P2,...,P2N。假定它们是不是所有在同一行上。如果他们成功了, ..
发布时间:2015-11-30 14:13:13 C/C++

找到点是否一个凸包为一组点的内部而不计算船体本身

这是测试一个点P是由一组点的X形成的凸包内的最简单的方法是什么?我想,不明确地计算的凸壳本身的算法在高维空间的工作(例如,多达40个尺寸)。任何想法? 谢谢! 解决方案 这个问题可以通过找到一个线性规划的可行点来解决。如果你有兴趣的全部细节,而不仅仅是插入一个LP到现有的解算器,我建议你阅读本章11.4的 Boyd和Vandenberghe的出色的书凸优化。 设置 A =(X [1] X ..
发布时间:2015-11-30 14:13:05 C/C++

子为O(n ^ 2)算法的计算区间套?

我们有如下形式的间隔列表 [A 我,B 我] 。对于每一个区间,我们要计算嵌套在它内部的其他间隔的数量。 例如,如果我们有两个区间, A = [1,4] 和 B = [2,3] 。那么对于 B计数是 0 ,因为对 B没有嵌套间隔;和计数 A 是 1 为 B 配合在 A 。 我的问题是,是否存在一个子 - 为O(n 2 )算法针对此问题在哪里 N 是间隔数? 编辑:在这里的条件是间隔满足。区间 ..
发布时间:2015-11-30 14:08:23 C/C++

什么是最快的算法来计算两个点集之间的最小距离是多少?

我想找到两个多边形之间的最小距离。我的意思是,我必须找到最小的第一形状的每个顶点之间的最短距离与其他一体的全方位的顶点。像豪斯多夫距离,但我需要的最低,而不是最大的。我AP preciate任何建议。谢谢你。 解决方案 也许你应该检查( PDF警告!还要注意的是,由于某些原因,这些页面的顺序颠倒的)“ 优化算法计算两有限平面的最小距离由杜桑和巴特查亚集“ 有示于本文的 两个有限之间的最小 ..
发布时间:2015-11-30 14:07:03 C/C++

计算阿尔法形状的边界多边形的Delaunay三角

给定一组点在平面上,α-形状的概念,对于给定的正数的α,通过找到Delaunay三角和删除的量的至少一个边缘超过α的长度的任何三角形定义。下面是一个使用D3例如: http://bl.ocks.org/gka/1552725 的问题是,当有几千点,只需绘制所有的内部三角形是一个交互式可视化速度太慢,所以我想只要找到边界的多边形。事实并非如此简单,因为你可以从这个例子看到,有时可能有两个这样的多 ..
发布时间:2015-11-30 14:04:50 C/C++

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

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

填写任意2D图形与给定的矩形

我有一组矩形和任意形状的二维空间。的形状没有必要为多边形(其可以是圆),和矩形具有不同的宽度和高度。的任务是近似带有矩形尽可能接近的形状。我不能改变矩形的尺寸,但转动是允许的。 这听起来非常相似,包装问题并覆盖问题,但覆盖面积不是矩形的...... 我想这是NP问题,我pretty的肯定应该有一些论文,表现出良好的启发式方法来解决这个问题,但我不知道谷歌是什么?我应该从哪里开始? 更新:一个 ..
发布时间:2015-11-30 13:58:29 C/C++

点算法之间的最短距离

鉴于在一个平面上的点的集合,发现由任意两个这些点形成的最短线段。的 我怎么能这样做?在平凡的方式显然是要计算每个距离,但我需要另一种算法来比较。 解决方案 这个问题可以在O解决使用递归的鸿沟(N log n)的时间,治之的办法,例如,如下: 排序点沿x坐标 由垂直线分割点的集合为两个大小相等的子集X = xmid 在左和右子集递归问题解决了。这会给左侧和右侧最小距离dLmin和dRmin分 ..
发布时间:2015-11-30 13:50:46 C/C++

最高密度的球体上的位置

我有球体的表面上的很多点。 我如何计算具有最大点密度球体的面积/点? 我需要这样做非常快。如果这是例如方形我想我可以创建一个网格,然后让点票而电网的一部分,是最好的。 我曾尝试与转变点球面坐标,然后做一个网格,这两者并没有很好地工作,因为围绕北极点收盘球,但后面的变换遥远。 感谢 解决方案 要添加一些其他的替代方案的组合:它可以定义一些(几乎)通过优化的内接多面体上球体状的几何形状经常网格。 ..
发布时间:2015-11-30 13:38:05 C/C++

实施霍伊Shamos算法用C#

好吧,我现在越来越从我目前的算法正确的信息!然而,70万多边形来检查,它只是太慢!在previous问题是(我的Line2D intersectsWith方法是不正确的) 现在这是我的识别瓶颈的问题!该算法假设是O(n日志-N),所以它应该是更快。我intersectsWith方法看起来像它不能得到任何更快,但我将发布其code,如果我错了, 编辑:添加IComparable接口 我的方法读 ..
发布时间:2015-11-30 13:33:14 C#/.NET

按顺时针顺序排序分?

给定的X阵列,Y点,我怎么解决这阵以顺时针方向(在他们的整体平均中心点)之分?我的目标是点传递到线创造功能,最终的东西看起来有点“实”,为凸地,没有线相交。 有关它的价值,我使用Lua中,但任何伪code将AP preciated。非常感谢您的帮助! 更新:作为参考,这是一款基于Ciamej的出色答卷的Lua的code(忽略我的“应用程序”preFIX): 函数appSortPointsCl ..
发布时间:2015-11-30 13:21:39 C/C++

寻找在2D点集洞?

我有一组 2D点。他们是 X,在一个标准的笛卡尔网格系统y坐标(在这种情况下, UTM区)。我需要找到那个点集$ P $孔pferably有一定能力来设置,发现这些小孔的算法的灵敏度。通常,这些点集非常密集,但有些可以少得多密集。 它们是什么,如果有帮助的任何,是在该字段中的土壤已被采样的各种性能,人们在农业显然发现有用点。有时,这些点样品中有巨大的岩石或沼泽​​的地方或完整的小湖泊和池塘。 ..
发布时间:2015-11-30 13:17:51 C#/.NET

一种算法充气/放气(偏移,缓冲)多边形

更新:数学术语,我要找的是真正的向内/向外多边形抵减。 +1巴林特指出这一点。另一种命名为多边形缓冲 更新2 (02.11.2011):检查出新接受的答案 - 帆船库由安格斯约翰逊 在我开始从头开始开发自己的解决方案,没有人知道任何好的来源的算法,可以充气多边形,类似这样: 要求是新(充气)多边形的边/点都在从旧的(原)多边形的(在这个例子PIC相同的恒定距离。他们都没有,因为那就必须使 ..
发布时间:2015-11-30 13:14:54 C/C++

AS3如何创建双面影片剪辑,当旋转显示的另一面呢?

我有一个影片剪辑有两帧。在第一帧I具有前侧和在第二予有背面。我转了MovieClip通过的rotationX,的rotationY,性能的rotationZ 我想显示帧2时,影片剪辑旋转。请帮忙。我不想使用PaperVision类。另外,请考虑视角看现场。 有时候,影片剪辑可能不仅依赖于旋转。它也同样依赖于位置(仅在透视图中)。 谢谢您考虑我的问题。 问候, SANKET PS:请在这里 ..