问题标签 [convex-polygon]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 获取网格的边界边缘 - 按缠绕顺序
我有一个三角网格。假设它看起来像一个凹凸不平的表面。我希望能够找到落在网格周围边界上的所有边缘。(忘记内部顶点)
我知道我必须找到只连接到一个三角形的边,并将所有这些边收集在一起,这就是答案。但我想确保这些边的顶点围绕形状顺时针排列。
我想这样做是因为我想在网格外部获得一条多边形线。
我希望这足够清楚,可以理解。从某种意义上说,我正在尝试对网格进行“去三角化”。哈!如果有这样的术语。
algorithm - 划分区域的算法 - 找到彼此靠近的点
是否有一种算法可以找到彼此之间具有一定距离的所有点?还是所有接触的矩形?
我将平面(在纬度/经度坐标系中,具有一定的限制)划分为 nxn 的样本矩形,每个矩形得到一个从 0 到 7 的值。我需要能够为每个值显示岛屿。n > 100 - 可能是 15000。
我写了一些非常蛮力的代码,但我只设法得到了一些非常粗糙的矩形......
我的输入示例:
以上,使用矩形中的点定义(每个 1 和 2 以及其他是我通过一些采样获得的矩形......) - 我最终有几千个 - 可能是十万个小矩形,我想得到每种区域。
我发现我可以使用凸包算法获得区域 - 如果我可以正确地将矩形(或它们的中心点)分成区域。
在我的函数的输入中,我只会得到具有相同度量的矩形。
例子:
我想找到一些算法,这样我就可以在单独的集合中获得正在接触的矩形,或者彼此相距一定距离的点(它们具有绝对坐标),这样我就可以在结果集。
由于矩形是通过采样创建的,因此它们的宽度/高度相同。
有这样的事吗?
我的代码在 VB.NET 中,但 C# 或任何语言或伪代码都会有所帮助。
非常感谢你。
编辑:
我有各种各样的测试,比如
其中 distance_lat 和 distance_lon 是 dim_lat/10,分别是 dim_lon/10
google-maps - Google maps v3 - Draw a polygon to show photo take angle
I am displaying in google maps (v3) markers with the position where the photograph was taken and position of the subject and tracing a line to show direction in which photo was taken. I have also calculated the distance and the angle from camera position.
What I am trying now is to show the view from camera with a triangle that opens, lets say 30 degrees toward the subject. Seem to me is a third grade math, but can't figure out after 25 years, I know how to draw the polygon/triangle but not really how to calculate the points at subject's distance about 30 degrees in both directions, of course taking in mind the heading angle.
Almost there...
Used the formula Red answered below to create a function (found I needed to convert: lat1, lon1 and bearing to radians before the math.
I call this function each time a marker changes to calculate again pos1 and pos2 of the triangle and change the paths to redraw it.
Thing now is that triangle shows up but facing all kind of directions but the proper one.
Question now is:
Google return the heading in degrees negative to West and positive to East (-180/180) and seems that the formula need the bearing (heading) in 360 degress? Right now function CameraView(75) display correctly but I am passing the angle as 75 degrees instead of 15 degrees (to have 15 degrees view left, and 15 to right).
android - 在 Android Google Map API 版本 2 中检测多边形中的 GPS
我是一名新的 Android 开发人员。我正在使用谷歌地图开发一个关于地图的应用程序。我在地图上创建了一个多边形,当位置在多边形内时,我想通过 GPS 进行检测,但我不知道如何检测它。
您能否提供任何示例或解决方案?谢谢你,对不起我的英语。
algorithm - 多边形分解算法
有谁知道将一组多边形分解成它们不同的重叠和非重叠区域的相对快速的算法,即给定一组n个多边形,找到它们之间的所有不同区域?
例如,输入将是代表圆形的 4 个多边形,如下所示
并且输出将是代表以不同颜色显示的不同区域的所有多边形。
我可以使用多边形操作编写自己的实现,但该算法可能会很慢且耗时。我想知道是否有针对此类问题的优化算法。
algorithm - 使用 MATLAB 查找点中的所有多边形
我在平面上有一组点,我想找到所有凸多边形而不包括其中的一个点。
例如,我想找到所有三角形、所有四个大小的多边形、所有四个五个大小的多边形等等,直到可以找到它们而不在其中包含一个点。
在图像中,a行对应于大小为 3 的凸多边形。虽然第 1 列和第 2 列显示了我想要的正确示例,但第 3 列显示了一个三角形,其中包含两个点,这是我不想要的。
b和c行显示大小为 4 和 5 的多边形的示例。
b3显示了一个非凸多边形的示例
我想知道 MATLAB 或任何其他语言中是否有函数,或者是否有人知道可以做到这一点的算法。
除了点之外,该算法还可以接收要搜索的多边形的大小,如果不包含该大小的任何多边形,它将返回所有可能正确的多边形或为空。
我很感激帮助。
algorithm - 计算特定角度凸多边形的宽度
给定顶点和某个角度,我可以计算凸多边形的宽度的方法是什么?这样做的目的是找到以某种速度移动的多边形的横截面宽度,以便在模拟过程中计算某种空气阻力。
我想最大的问题是我现在对几何的了解并不多,所以如果我看到它,我不确定我是否会认出解决方案。我能找到的最接近的算法处理找到多边形的最小宽度,但我真的在寻找某个速度方向的宽度。我有点难过。
objective-c - 如何绘制一组多个矩形的轮廓?
我需要绘制一组相邻放置的矩形的封闭多边形。
让我们考虑与至少一个其他矩形共享至少一个边缘(或部分边缘)的文本字段。我可以得到矩形点的坐标,所以我基本上有我需要的关于它们的任何数据。
你能想出一个简单的算法/程序来围绕这些对象绘制一个多边形(连接的直线路径)。
这是不同潜在情况(A、B、C 等)的演示。在示例中,AI 还绘制了一个蓝色多边形,这是我需要绘制的路径,勾勒出矩形组。
我在这里读过关于凸包之类的东西,但实际上,这看起来是一个简单得多的问题。我想到的一个(开始)解决方案是,我实际需要绘制的点只是任何一对矩形都不共享的点,这意味着作为多个矩形顶点的点是多余的。我找不到的是我需要从一个到下一个画线的顺序。
我目前致力于目标 c,但任何其他语言或算法都会受到赞赏,包括伪。
谢谢!
python - 绘制线性不等式系统的解
我有两个来自 [-1,1] 的数字数组:
a = 2*np.random.sample(100)-1
和
b = 2*np.random.sample(100)-1
。这两个数组定义了以下线性不等式系统
a[i]*x + b[i]*y <= 1 对于 i = 0,1,..., 99
该系统的解集是一个凸多边形。如何使用 matplotlib 绘制它?据我了解,fill_between
仅允许在两个不等式的情况下这样做。
opengl - 散布的 2D 顶点集到三角形条带
我需要绘制一个由 6 个无序顶点给出的凸多边形。
绘图应该使用 GL_TRIANGLE_STRIP 完成,并且在第一个和最后一个顶点处给我两个顶点。
如何有效地重新排序顶点,以便可以使用 OpenGL 和 GL_TRIANGLE_STRIP 绘制多边形?