为什么不使用八角形图而不是六边形图?


42

我了解六角形瓷砖比方形瓷砖的优势。但是为什么不使用八边形呢?我认为它们可以在八个方向上提供更好,更自然的运动。

我当时正在考虑在某些游戏中使用这种地图,但是我还没有看过任何游戏在使用它,所以我想知道我是否错过了使用它时明显存在缺陷的东西?


59
八边形不平铺。
jmegaffin

2
我想知道是否还有其他形状像正方形和六边形一样平铺
-Azaral

12
@Azaral:只有三角形,正方形和十六进制。这已经被证明。
Nicol Bolas 2013年

9
那让我内心有些难过
Azaral

11
好吧,实际上存在与其他规则多边形的平铺,但是仅在非欧几里得几何中存在。例如,您可以在球体上放置规则的五边形拼贴。
TonioElGringo

Answers:


69

八字形:

在此处输入图片说明

六边形:

在此处输入图片说明

八位字节中的空白构成了一个无吸引力的游戏世界。

通常,如果要允许八个方向移动,则只需使用正方形即可。


43
另一种方法是让您的游戏在双曲线平面上进行,您可以在其中放置八角形符号:roguetemple.com/z/hyper.php
MartianInvader 2013年

3
@MartianInvader多么有趣!
点击确定

“八角形字母的空白使得游戏世界不那么吸引人。” 我不会这么说,我当然会看到这种模式的用法,以减少可见的拼贴。
API-Beast

1
确实,“吸引人”是一个错误的词。我应该说,非均匀的结构给最终用户(可能很难适应这样的结构)和开发人员带来了额外的复杂性,开发人员可能会发现编写代码更具挑战性。
MichaelHouse

4
带有间隙的八角形图案等同于没有对角线移动的正方形图案,在视觉上旋转了45度!(如果您用方形瓷砖填充空隙,则是带有对角线运动的方形图案,但很奇怪)
user253751

64

要总结和在什么在其他的答案和评论已经说细说,三角形,方形和六边形是唯一可能的数学规律的拼接又名定期镶嵌了的欧几里得平面。是的,这很糟糕。三角形在这里完全没有用,正方形很烂,因为您不能在没有对角线1.4142135623730950488016887242096980785696718753769480的情况下不对角移动,否则就不能对角移动。和六边形很烂,因为您甚至无法在两个方向上笔直移动。不要误会我的意思,在糟糕的现实数学给我们留下的限制之内,我仍然更喜欢它们而不是正方形,然后选择Civ5最终切换到十六进制网格。但尽管如此,如果它 可能用八边形细分,没人会再看六边形。

您可能会说:“好吧,我不在乎是否存在差距。我只是假装不存在差距。” 您会得到截断的正方形平铺图,这被称为正方形平铺图,并不是因为正方形间隙很小,而是因为这些八边形实际上只是在平铺平面方面美化了正方形。这些小方块是截断后剩下的实际用于平铺平面的正方形的角,从游戏角度来说,首先不使用正方形的原因是直线和对角线移动的距离相等,而这就是您在这里所没有的。对角移动必须在瓷砖中心之间架起与方形瓷砖相同的距离。相反,如果您假装魔术数字空间上有实际的孔洞,您当然可以这样做,但是与仅使用正方形瓦片并使对角线移动与笔直移动一样昂贵有什么区别呢?

截断的方形瓷砖

如果有不错的替代品不是欧几里得,那么现在一切都不会太糟。通常,我们的网格无论如何都在某种行星上,所以为什么不使用椭圆几何形状,即球体的表面呢?不幸的是,涉及常规平铺时,球面甚至更糟。在飞机上的任何地方,您至少可以使用任意数量的瓷砖,而在球体上则有五种排列方式,即柏拉图固体。而已。而且其中只有两个不使用三角形。https://zh.wikipedia.org/wiki/Spherical_polyhedra

但是,当涉及到镶嵌时,双曲平面确实会摇摆。不仅只有三个,实际上还有无限数量的常规镶嵌,包括一个八角形镶嵌。

双曲平面中的八角形拼贴

唯一的问题是,双曲平面不像平面或球面那样好,而是基本上是品客勒表面。您需要故事挂钩的地狱来证明在Pringle上进行游戏的合理性;)

双曲抛物面

尽管如此,八角形的拼贴还是那么优雅,庞加莱(Poincaré)碟片看起来如此出色,令我感到惊讶的是它几乎从未完成(以前我在这里说“从未完成”,但随后我读到了MartianInvader指向HyperRogue的评论)。

在实现方面,虽然我自己从来没有做过,但使用当今的3D架构实现这一点应该非常简单,因为可以通过将所有内容都放置在双曲面表面并进行透视投影来构造庞加莱圆盘视图(请参见与双曲面模型的关系)。

Poincare磁盘的构造

如果要考虑做一个基于网格的太空游戏并进行三个维度的设计,则可以得出结论,这只是一件又一回事了,希望那里的事情看起来更美好……最好放弃。不仅需要不存在 14个面的规则凸多面体,用规则凸多面体细分3D欧氏空间的唯一方法是使用立方体。嘘。在双曲空间,你至少可以得到一些与十二面体镶嵌隐约像analogon为十六进制格(即12面多面体,这几乎是 14吧?),但现在你总brainfuck地是,仍然没有得到八角形平铺的对应物:

双曲正交十二面体蜂窝

美丽如地狱?哦,天哪,是的!如果外星人飞船以这种方式追随我,并期望我以明智的方式做出反应,我会感到无所适从吗?你打赌我会的。这可能是大多数人只使用立方体或六边形棱柱形堆栈的原因

立方蜂窝 六角棱形蜂窝


10
专家提示:如果您想当选为书房的正式统治者,请在双曲线空间的十二面体蜂窝中制作矮人要塞。如果您不想让任何人再次挑战您的称号,并且在我们甚至没有设计翘曲驱动器之前,让瓦肯人降落并根据您的要求提供他们的意见书,请使用相应的Funge方言(quadium.net/funge/ spec98.html)。
基督教徒

3
3D确实具有六边形网格的规则类似物,即FCC网格,其晶胞菱形十二面体加泰罗尼亚实体(即,即使不是所有的角都一样,其所有面都是相同且对称的)。不过,还没有看到很多游戏在使用它。
Ilmari Karonen 2014年

1
@TobiasKienzler尽管我在回答中说了什么,但那真是太棒了。如果游戏无法使我们的大脑重新了解3D双曲线空间,那又是什么?:)
基督教徒

1
@TobiasKienzler列表中不缺少4D Rubik立方体吗?无论如何,Adanaxis听起来很疯狂。至于更高的尺寸,几何形状在更高的尺寸上变得令人厌烦:en.wikipedia.org/wiki/List_of_regular_polytopes#Tessellations这真的让我感到困惑。我希望会有更多的自由度,以便有更多的多面体和其他东西。但不是。甚至在二维空间中具有无限个镶嵌的双曲空间在尺寸> 5时也会下降到0。欧几里得空间在所有维度上都保持其立方镶嵌。
基督教徒

4
+1表示“您需要一个故事钩子来证明Pringle上的游戏合理。”
CaptainRedmuff 2014年

27

HyperRogue的作者在这里。

HyperRogue实际上使用由六边形和七边形组成的镶嵌,这就是选择此特定镶嵌而不是仅八角形或七边形的原因,例如:Hyperbolic Rogue中的双曲几何基本上,八边形太大。

屏幕快照HyperRogue 编号截图

在该帖子中还列出了在游戏中使用双曲线几何的一些后果(在双曲线中有效而在欧几里得中无效,反之亦然)。

是的,正如克里斯蒂安(Christian)猜测的那样,HyperRogue内部使用双曲面模型。

我不允许对Christian的回答发表评论,但是3D空间中有14面多面体的镶嵌效果Bitruncated立方蜂窝(为什么还要 14面?)


该死的,直到现在才看到你的帖子。是的,我忽略了位形弯曲的立方蜂窝,但Ilmari Karonen也很友善地指出了这一点。您在HyperRogue BTW上所做的工作确实很棒。您是否有机会向其中添加Ouya控件?:)
基督教徒

1
我又一头雾水。比特峰化的立方蜂窝不是由规则的多面体组成,即,并非所有面都相同。提到的蜂窝状Ilmari Karonen由十二面体(即十二面实体)组成,这就是为什么它类似于六角形平铺的原因:它可以工作,但没有您想要的14个方向(六个“直线”方向)立方体的每个面和每个顶点的八个“对角”面)。位化的立方蜂窝类似于平面八角形拼贴:它可以工作,但是与游戏网格相比,立方蜂窝没有任何优势。
基督教徒

我添加了一个屏幕截图,以便您可以了解平铺。但是,也许只是我一个人,但我发现甚至很难看到每个图块有多少个顶点。因此,我在每个图块中放置了顶点数量(嗯,实际上并不是全部),图案突然变得清晰起来:它是六边形重叠的圆圈,中间是七边形。希望我能将您的答案弄混,@ZenoRogue,如果我对这些事情感到很慢,并且马上就解决了,对不起。
基督教徒

谢谢!添加Ouya控件需要什么?已经有一个Android端口和操纵杆控件(用于Pandora控制台),因此Ouya控件应该易于添加,尽管我很难测试。
Zeno Rogue

1
我认为我们实际上将需要26个方向,而不是14个(6个“纯”方向,两个(非相反)纯方向的12个组合以及三个纯方向的8个组合)。比特峰化的立方蜂窝使用6 + 8(对应于面和顶点),菱形采用其他12(对应于边)。
Zeno Rogue

9

基本上,您想要的是单面镶嵌(或平铺),即以单个形状覆盖整个平面(假定为2d),其中瓦片既不重叠也不留间隙。

有很多形状可以做到这一点,但是当我们引入其他约束时,通常方向应保持不变或它们应符合自然运动方向,基本上只剩下正方形和六边形。

以三角形为例(您可能会从3d对象的镶嵌中获悉)。为了填补两个三角之间的空隙,必须插入另一个三角形,但是将其倒置。例如,在处理子画面时,这显然很麻烦,因为无缝连接很重要。三角运动也很烂。

至少就移动而言,最自然的是恰巧最常用的正方形。六边形是第二好的选择,它允许更直接地朝更大数量的运动方向靠近,即不要像角尺上的8向运动那样越过拐角运动。通常,它们用于战术性更高的游戏中,其中增加运动非常重要。

无论如何,如果您想阅读更多内容,请访问http://euler.slu.edu/escher/index.php/Tessellations_by_Polygons

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.