当前位置: 首页 > 知识库问答 >
问题:

给定任意坐标点,构造确定边点的多边形

叶晋
2023-03-14

我在传单地图上有一组无组织的点,在我的实现中,这些点表示Minecraftarium.com/map上Minecraftarium.com/map上地图上的领土节点。目前,我的实现只获取点,并使用传单在点周围画一个圆来大致指示控制区域。

然而,这有点难看,也不代表期望的最终结果,即从给定一组数据的边缘点绘制多边形区域。然而,由于这些点的无组织性质,我没有简单的方法来宣布这些点上的“边缘点”,因为它们将源于原始来源(城镇中心),并随着玩家扩大他们的领土。

我的问题是:有没有一种方法给出一组这些点来迭代它们,以自动确定边缘点和某种顺序,然后提供传单多边形位置,并绘制一个多边形区域来表示控制,而不仅仅是一群点,它们周围画了相交的圆。

我看过一些关于鞋带公式的东西,但我不确定是否/如何在有点‘内部’会是什么区域方面工作。

多谢!

共有1个答案

拓拔嘉颖
2023-03-14

我从用户3413723那里得到这个。它在LAT/LNG对象中工作得很好。https://npm.runkit.com/hull.js这就是我在谷歌地图中使用它的方式:

// in main.js
Hull = require("hull.js");

// ... results is my object array with lat/lng properties
var hull    = Hull(results, 50, ['.lng', '.lat']),
    hullMap = new google.maps.Polygon({
        paths: hull,
        strokeColor: '#FF0000',
        strokeOpacity: 0.8,
        strokeWeight: 2,
        fillColor: '#FF0000',
        fillOpacity: 0.35
    });

hullMap.setMap(map);
 类似资料:
  • 我现在使用的算法有点问题。我想让它划定界限。 下面是当前行为的一个例子: 以下是一个被通缉行为的示例: C#中凸壳的当前代码:https://hastebin.com/dudejesuja.cs 我的问题是: 1) 这可能吗? R:是的 2)这甚至被称为凸包吗?(我不这么认为) R:不,这叫边界,link:https://www.mathworks.com/help/matlab/ref/boun

  • 问题内容: 我正在尝试在多边形算法中创建一个快速的 2D点,以用于点击测试(例如)。对于有效技术的建议将不胜感激。 问题答案: 对于图形,我宁愿不要整数。许多系统使用整数进行UI绘制(像素毕竟是ints),但是macOS例如对所有内容都使用float。macOS仅知道点,并且一个点可以转换为一个像素,但是根据显示器分辨率,它可能转换为其他像素。在视网膜屏幕上,半点(0.5 / 0.5)是像素。不过

  • 我有下面的区域。我正在生成这个坐标图之间的随机坐标。当随机生成的数为(0.3,-0.3)时,我很容易编写程序来识别这个坐标属于F区域,但我如何确定A/B/D/E的界限来识别随机生成的坐标是否属于这些区域呢?写一个if语句来识别它里面随机生成的坐标的区域E的界限是什么?

  • 我有一些关于点为双类型的多边形的问题...我要做的是,给定点,创建多边形,然后测试1个具体点是否在多边形内。 所以我知道在Java中有一个类,叫做多边形,用得像这样:(三角形) 但我的“多边形”必须是“双”类型,而不是“int”(简单示例) 在我的项目中,我真的不需要在小程序或类似物上绘制它,我只需要计算点是否在里面。 所以我的问题是: 有没有什么方法可以用双坐标来处理多边形,可以计算这个点(双坐

  • 我正在使用Boost图库的一些项目,我想找到的次数,一个边是重复在一个图。例如, 假设我有两个节点,node1和node2,它们之间有一条边(node1,node2)。属性包含时间戳开始、结束..并且在图中可以有许多这样的边,它们具有不同的时间戳。例如。 我知道在一个boost图中,给定两个顶点,我们可以使用下面的方法来查找图中是否存在边。 但这可能意味着即使存在具有不同边缘属性的多个边缘-->P