【问题标题】:Partial sphere representation with hexes using graphs使用图表的六角形部分球体表示
【发布时间】:2015-06-24 11:52:30
【问题描述】:

问题:球体不能仅使用六边形瓷砖进行镶嵌。

目标:创建一个由离散的六边形区域组成的全球地图。

要求

一个。地球/球体/行星的图形表示。

b.将区域细分为六角形。

c。 Hexes 可能包含一些东西。

d。瓦片的数量应在 1 000 到 10 000 之间。

e。合理的不准确性是可以的。

想法

  1. 创建一个表示六边形的无向图。因为十六进制必须总是正好有 6 个邻居,所以图需要是 6 正则的,并且包含 1 000

  2. 用信息填充顶点实例。例如,在游戏中,这可能是单位。

  3. 视觉表示:没有一个屏幕可以同时显示整个地球。因此,为了显示我们地球的一部分,我们首先选择应该在显示中间的顶点并将其显示为十六进制。然后,从邻接矩阵中,我们拉出它的直接邻居并将它们定位为六边形。对于这些邻居中的每一个,我们拉出下一层邻居,依此类推,直到屏幕被填满。

问题

I 有没有一种算法可以用来构造1.中描述的图?

II 我能否证明在选定的邻域深度内,不会出现使图形表示成为不可能的冲突?显然,对于至少 1 + 6 hexes 的显示深度不会出现冲突。

if I&II:
    Do you think the described approach is promising enough to try and implement?

【问题讨论】:

  • 看这里stackoverflow.com/a/29139125/2521214 这几乎是同样的问题,但并不完全相同。输出对你来说可能很有趣
  • @Spektre 感谢您提供的精彩链接,它基本上反映了我们在现实生活中的讨论。然而,这个问题的重点是通过实际不创建投影或镶嵌,以某种方式避免五边形并绘制整个球体。只要尝试通过对球体进行曲面细分,它就无法产生所需的结果,因为事实证明这是不可能的。我想我可以问一下我提出的图形方式是否与球体镶嵌有根本的不同。该链接在代码和可重用性方面非常有用!

标签: algorithm graph geometry visualization geo


【解决方案1】:

没有人回答,但答案是这是不可能的。覆盖球体的有限图的欧拉特征必须为 2(有关欧拉特征,请参阅 http://en.wikipedia.org/wiki/Euler_characteristic),由六边形构建的图的欧拉特征始终为 0。

你必须在某个地方有不同大小的形状。

【讨论】:

  • 这适用于完整球体,但标题说明部分球体......我不太确定它取决于球体覆盖范围和层/瓷砖的数量......圆柱投影适用于几乎整个表面,但瓷砖的大小不同。对于相同大小的瓷砖,我猜五边形可以移出覆盖的表面......如果覆盖范围不是太大
  • @Spektre 正如我从问题和 cmets 中所理解的那样,目标是在任何区域中使用基于将整个球体划分为六边形的单个图形表示的十六进制表示。这是你做不到的。您可以使用投影进行任何区域。如果将这些六边形中的 12 个更改为五边形,您就可以完成整个球体。但在 cmets 中,Zubo 明确表示不想做这两件事。
猜你喜欢
  • 2018-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多