18得票3回答
生成带有坐标系的六边形网格的算法

我试图将19行代码合并成一个for循环,但感到有些困惑。之所以这样做,是因为我希望网格可以是其他大小而不仅仅是5。在Main::drawHexGridAdvanced()中,我试图推断每条线之间的相似之处,而不是像Main::drawHexGridBasic()那样硬编码值。我不确定如何确定每...

32得票3回答
数学方法产生球形六边形网格

我正在尝试创建一个类似于这样的形状,由12个五边形组成的六边形,大小任意。 (图片来源) 唯一的问题是,我完全不知道需要什么样的代码来生成它! 目标是能够将3D空间中的一个点转换为网格上的位置坐标,或者反过来,获取网格位置并获得绘制网格所需的相关顶点。 我甚至不知道如何存储此网格的...

37得票9回答
六边形网格,如何确定一个点位于哪个六边形中?

我有一个由行和列组成的六边形地图 这不是我正在使用的实际六边形地图的图像,但使用相同大小和形状的六边形 我需要能够在用户单击时确定鼠标所在的六边形, 每个六边形都由“Tile”类的一个实例表示,但它不包含任何位置特定的数据,甚至不包含多边形,因此唯一的方法是知道它在二维数组中的位置。 我以前使...

20得票4回答
在ggplot2中设置十六进制箱的相同大小

我正在尝试用六边形图表来表示一些分类数据。问题是,对这些数据进行分面处理后,它们似乎大小不一。set.seed(1) #Create data bindata <- data.frame(x=rnorm(100), y=rnorm(100)) fac_probs <- dnorm(...

7得票2回答
更快的方法来计算六边形网格坐标

我使用以下步骤来计算给定范围(左下角 -> 右上角)的正方形网格的给定半径的六边形多边形坐标: def calc_polygons(startx, starty, endx, endy, radius): sl = (2 * radius) * math.tan(math.pi...

31得票5回答
生成三角形/六边形坐标(xyz)

我试图设计一个迭代函数来生成六边形网格的xyz坐标。以起始六边形位置(例如0,0,0)为基础,我想计算每个连续“环”中六边形的坐标,如下所示: 到目前为止,我所能想出的只有这个(javascript示例):var radius = 3 var xyz = [0,0,0]; // for...

21得票5回答
JavaScript与正六边形的点碰撞检测

我正在创建一个基于HTML5画布的六边形网格系统,当画布被点击时,我需要能够检测到网格中的哪个六边形被点击了。 数小时的搜索和尝试我的方法都没有结果,从其他语言移植的实现只是让我感到困惑,我的大脑已经变得迟钝。 网格由如下图所示的扁平顶部的正六边形组成: 实际上,对于给定点和在此图像...

23得票6回答
六边形网格中瓦片之间的曼哈顿距离

对于一个正方形网格,瓦片A和B之间的欧几里得距离为:distance = sqrt(sqr(x1-x2)) + sqr(y1-y2)) 对于一个只能沿着正方形网格移动的角色,曼哈顿距离是我们必须走的实际距离的更好度量:manhattanDistance = abs(x1-x2) + abs(y...

9得票2回答
如何在ggplot2中将stat_binhex显示为对数比例尺

我有一个2D六边形密度图,其中包含许多点。我希望在六边形内显示的计数是以对数比例尺显示的,但是我无法通过ggplot2实现这一点。 这里是一个简单的示例: x <- runif(1000, 50, 100) y <- rnorm(1000, mean = 10, sd = 8...

16得票2回答
六边形瓷砖及其相邻邻居的查找

我正在开发一个简单的2D棋盘游戏,使用六边形平铺地图。我已经阅读了几篇文章(包括gamedev的文章,在涉及六边形方块的问题时都会链接这些文章),介绍了如何在屏幕上绘制六边形以及如何管理移动(尽管我之前已经完成了其中大部分)。我的主要问题是根据给定的半径找到相邻的六边形。 这是我的地图系统运作...