问题标签 [polygons]

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.

0 投票
1 回答
788 浏览

math - 将逆时针多边形转换为顺时针多边形

如果我有以下多边形顶点的数组结构(多边形既可以是凸的也可以是凹的):

我可以很容易地判断多边形是顺时针还是逆时针。但是我该如何转换呢?如果我反转数组,它适用于我能想到的示例,但它适用于每个多边形吗?

0 投票
1 回答
1233 浏览

algorithm - Lua 中的 Bentley-Ottmann 算法

我正在 Lua 中实现 Bentley-Ottmann 算法,以使用位于此处的伪代码查找多边形中的交叉点。

我对实现算法比较陌生,所以我无法理解它的所有部分。到目前为止,这是我的代码:

我的多边形是使用这种结构的表: { { x = 1, y = 3 }, { x = 5, y = 6 }, ... }

如何确定“ SL 中 segE 上方的线段; ”和“ SL 中 segE 下方的线段; ”以及如果扫描线 ( SL ) 为空怎么办?此外,当将 I 插入 X 时,我是否应该用endpoint = 'intersect'标记它并将其附加到末尾,以便当循环到达这部分时进入主循环的“else”语句,或者我已经得到了整个算法错误的?

如果有人可以向我展示一个带有 Python、Ruby 等简单实现的链接,那将是完美的,因为我发现很难遵循伪代码并将其与 C++ 示例相匹配。

0 投票
1 回答
591 浏览

ios - 在 cocos2d 中用平方纹理填充多边形形状的精灵

我想知道是否可以使用 cocos2d 用方形/矩形纹理填充多边形形状的精灵。我想我将不得不重写该draw方法,但我不知道如何实现这一点,也无法在网上找到任何有用的资源。

问候

0 投票
2 回答
4670 浏览

r - 在R中溶解多边形中的孔

我正在 R 中运行一些地理处理任务,其中我试图创建一些多边形来裁剪环境信息的栅格。我正在缓冲一些复杂的多边形,这留下了我想摆脱的小子几何。在ArcGIS中,我认为这将涉及将我的多边形从多部分转换为单部分(或类似的东西)然后溶解,但我不知道如何在R中做到这一点。

这是一个说明问题的示例:

我真正想要的是多边形的外边界,里面没有别的东西。有任何想法吗?

0 投票
2 回答
547 浏览

algorithm - 圆角多边形

早些时候我问了一个问题,但我认为我做错了......
无论如何。这是我的问题。我有这个从图像创建多边形的功能,但它是完美的像素,它为单个多边形创建了太多的点。所以我的问题是,我该如何舍入?使多边形变小一点,使边缘不那么锋利并同时去除一些边缘?我找不到任何算法,所以也许我只是搜索失败..

谢谢,
阿斯特阿尔夫

0 投票
1 回答
748 浏览

r - Matlab 中的 areaint 与 R 中的 areaPolygon 或 areapl

当我尝试在 Matlab 与 R 中计算多边形面积时,我得到了两组不同的值。在 Matlab 中,我使用了 areaint(参考椭圆体设置为 WGS84)。在 R 中,我在 lat-lon 上尝试了 geosphere::areaPolygon,在网格转换的欧几里得坐标上尝试了 splancs::areapl。R 结果彼此一致,但与 Matlab 计算不一致。两组平均有 25% 的差异(Matlab 较低)。我错过了什么?

0 投票
1 回答
408 浏览

opengl - “灯笼效应”或仅显示场景的一部分

我试图只显示背景图像的一部分(未来的游戏场景)。基本的工作方式是,例如,首先我画一个背景图像,然后我需要用一些黑暗或暗色“隐藏”/覆盖图像(没有光,不知道必须选择什么选项)并使用鼠标单击以使用圆形或三角形(我的选项)仅显示图像背景的一部分,圆形/三角形以鼠标位置为中心。我称之为“灯笼效应”。

第一个选项:使用 alpha 通道,创建一个覆盖所有窗口大小的正方形,然后尝试在图像上的 alpha 正方形上减去圆形区域。

第二个选项:再次播放覆盖所有图像背景的黑色方块并尝试减去圆形/三角形。尝试使用 glLogicOp 但此方法仅播放混合颜色。不知道如何使用 OpenGL 对 2D 多边形进行操作。

...

任何其他想法或简单的例子来学习如何做类似的事情。

图片示例: 灯笼效果

0 投票
1 回答
2018 浏览

javascript - 多边形碰撞检测实现

我正在尝试编写自己的分离轴定理实现,但我很难让它像我想要的那样准确地工作。我不能肯定地说,但是当形状周围的一个假想的盒子像第一个形状一样碰撞时,它看起来像是在说发生了碰撞。但是第二种形状完美地工作。

这是正方形的顶点数据(精确坐标):

这是测试形状 1 的顶点数据(相对于鼠标):

最后是测试形状 2(相对于鼠标)的顶点数据:

只是为了澄清,翻译后的坐标是经过测试的坐标,并且这些坐标的形状已经按照所示的坐标顺序进行了测试。

在此处输入图像描述

这是实际的功能。

如果你需要我会尝试其他形状。

这是我的axisOverlap功能。

0 投票
4 回答
8674 浏览

java - 试图画一个六边形

我正在尝试在我为班级制作的小行星克隆上绘制六边形小行星。

然而,当我这样做时,我最终得到了这个 :

那么出了什么问题呢?我在坐标平面上画了出来,然后复制了这些点。我的理解是 Java 会按照我列出点的顺序绘制它,并且我在其中有 (0,0) 是为了旋转小行星以进行游戏。

0 投票
1 回答
808 浏览

javascript - 导航网格寻路(在多边形中)

我正在用 JavaScript 开发一个点击式冒险游戏,我需要有关整个运动机制的帮助。

从我收集到的关于这个主题的信息来看,似乎有两个主要主题——导航网格和 A* 寻路算法。但是,在我的一生中,我找不到这些组合的 JS 实现。

我发现的所有 A* 实现都是基于网格的。

基本上,我正在寻找的是一种在大多边形内导航的方法。

我希望我有一定的意义,我不确定我自己是否完全理解它。