
我用112米见方的网格开始建造我的第一座城市,这似乎是个显而易见的选择。但事实证明,其他尺寸的网格实际上更好! 更新:现在也涵盖了六边形、矩形和三角形网格 简介 你认为下面两个正方形网格中哪个的分区单元格更多? 每个网格的占地面积相同:每条边1008米,约100公顷。

左边的方案看起来显然是首选。它在道路之间留出了整整12个分区单元格的宽度,这是在不留间隙的情况下能获得的最大宽度。这是使用道路工具绘制时最容易的长度之一,因为你只需对齐分区圆圈。它恰好也是平行道路模式下能获得的最宽宽度。 但如果你仔细计算(或者如果你读过我为《城市:天际线》原版写的指南,可能已经猜到了),右边的方案尽管每个街区中间有大洞,实际上却有更多的分区单元格。右边的方案建造和维护成本也更低,因为它的道路更少。 左边有12²×9²=11664个单元格;右边有(16²-4²)×7²=11760个单元格。 我们能做得更好吗?让我们来计算一下!(剧透:是的,我们可以。)最佳方形网格

首先,我们来定义一些变量: x 是道路工具显示的街区一侧道路长度 z 是可分区临街面长度 h 是分区中间空白区域的边长 W 是所使用道路的宽度 先不考虑过于严谨的数学计算:为简单起见,下文将假设 x > z > h ≥ 0。可以通过诸如 h = max(0, z - 96m) 这样的方式来修正,但这会导致导数不再连续,处理起来比较麻烦。我们要找的最大值实际上位于参数空间中较为方便计算的部分。这并不意外,因为 z < 96m 只会意味着更高的道路与分区面积比,而不会在其他方面带来补偿性的增益。使用此方法,每个街区的可分区面积为街区内部空间(z²)减去距离道路过远的部分(h²)。但这两者都与街区长度直接相关,因为临街面是街区尺寸减去道路宽度(z = x - W),而“空洞”部分则是临街面减去分区延伸的距离(h = z - 2×6×8米 = x - W - 96米)。 我们试图优化的密度公式为: (z² - h²) / x² = ((x - W)² - (x - W - 96)²) / x² = 192×(x - W + 48) / x² 如何最大化这个密度呢?用微积分!导数为零处取得最大值: 0 = d/dx [192×(x - W + 48m)] / x² 0 = d/dx (x - W + 48m) / x² 0 = (2W - x + 96) / x³ 0 = 2W - x + 96 x = 2W + 96m 将结果代入之前的孔洞公式,会得到有趣的简化: h = x - W - 96m h = 2W + 96m - W - 96m h = (2W - W) + (96m - 96m) h = W 换句话说,要构建最优正方形网格,中间应留出与所用道路尺寸相同的孔洞。 我们来看小型道路的情况: 区块尺寸 密度 所需道路 112米(14单位) 36/49≈73.5% 28/9≈3.11米/单元格 128米(16单位) 3/4=75% 8/3≈2.67米/单元格 144米(18单位) 20/27≈74.1% 12/5=240米/单元格 使用16米宽的道路时,通过采用优化的方形网格,与中间有空白区域的方形网格相比,在相同区域内可获得约2%的额外分区单元格,同时道路成本(包括前期建设和维护费用)降低约14%。 虽然2%听起来可能不多,但要记住,密度对所有具有服务区的设施都有帮助。例如,如果你放置一个“1公里范围内+4幸福感”的标志性建筑,更高的密度意味着它可以为更多建筑提供该加成。 最终结论 因此,最佳方形网格的街区尺寸为: - 对于8米宽的小型道路(如 gravel road),街区尺寸为112米,密度为6/7≈85.7% - 对于16米宽的小型道路(如双车道公路),街区尺寸为128米,密度为3/4=75% - 对于24米宽的中型道路(如四车道公路),街区尺寸为144米,密度为2/3≈66%大型道路(如六车道道路,宽度32米)为160米,密度为3/5=60% 超大型道路(如八车道道路,宽度40米)为176米,密度为6/11≈54.6%

更宽道路的代价 上一部分包含大量数学计算。虽然这对于找到最优解很有帮助,但从中获得直观理解可能比较困难。 以下是方形网格使用不同宽度道路时的密度结果图表:8米(红色)、16米(紫色)、24米(绿色)、32米(橙色)和40米(蓝色)。

最让我深有体会的是,采用更宽的道路会大幅降低建筑密度。即便是使用较窄道路的非最优街区尺寸,也能轻松胜过采用宽道路的最优方形街区。以下是方形网格在特定目标密度下的区块大小范围: 目标密度 大型道路 中型道路 小型道路 微型道路 ≥60% 160米 107-210米 71-231米 36-247米 ≥65% 无法实现 125-171米 83-201米 42-220米 ≥70% 无法实现 无法实现 98-172米 49-195米 ≥75% 无法实现 无法实现 128米 60-173米 ≥80% 无法实现 无法实现 无法实现 76-150米 ≥85% 无法实现 无法实现 无法实现 103-123米 举一个极端的例子,下方左侧的网格实际上比右侧的网格密度更高,这是因为宽阔的道路会占用大量空间。

因此,切勿在大型(甚至中型,更不用说超大型)道路上划分区域。

如果你觉得需要更多车道,可以考虑使用由小型单行道组成的网格。例如,使用双向两车道单行道的80米网格(如右侧所示),其密度为64%,虽然不是最优,但比大型道路网格的60%密度要好。而且其交通状况可能也更好,因为单行道交叉路口的冲突点比双向道路少得多。 为什么会有宽马路 中型和大型道路的用途是作为集散道和主干道,而非用于分区。较高的通行能力和较高的速度是为那些需要长距离出行的人准备的。这类道路在以下情况下效果最佳: 没有车道出入口:交通速度足够高,人们在驶离时不应判断是否有足够空间并入。而且你不希望人们被那些减速送货的卡车(或者减速收垃圾的垃圾车等)挡住去路。 禁止不受控左转:无论是从支路还是主路,道路都非常繁忙,等待车流间隙是不现实的。这意味着任何左转都需要交通信号灯或环岛,也就是说,没有这些设施的路口,所有左转都不允许。同样,在宽阔道路上直行也只能在有信号灯或环岛的情况下进行。不过更好的做法是不在宽阔道路上设置直行通道,只保留T型路口——或许甚至可以采用连续绿灯T型交叉口。 减少交叉路口:小路可以有很多交叉路口,方便你到达各个地方。宽阔的道路在交叉路口之间应留有足够的空间,这样车辆才能充分加速,以适应较高的限速。想想看,当你开车时每100米就遇到一个红灯,那有多烦人。额外的空间还能让车辆在需要时拥有足够的变道空间。 你会发现,所有这些问题同样适用于手动放置的建筑。宽阔道路上唯一合理的建筑是那些车流量非常低或具有高度紧急性的建筑,而这类建筑非常少。无线电桅杆是可以的(1个工作岗位),变电站(甚至不需要道路),或许还有消防站(8个工作岗位,但消防车的交通很重要)。但例如,消防局会产生来自60个工作岗位的交通流量,警察局则有低优先级的监狱交通流量等。 实际上,在很多这类情况下,你可以考虑只使用双向高速公路(或许可以加上声屏障)。这样你就不能在上面进行分区规划,这也有助于避免分区网格因额外的道路而产生混乱。只要记得仍需提供良好的步行连接,这样人们就不会被迫开车出行。在《城市:天际线2》中,目前为止最好的公共交通方式就是步行。 矩形网格 遗憾的是,并没有唯一真正的矩形网格。从技术角度而言,使用越来越长的矩形区域确实能不断提高密度(渐近式增长)。例如,使用小型道路时,你可以达到85%的密度,但这需要一个112×1920米的网格。这相当于一个超过3格长的区块,在我看来这实在是太夸张了。 因此,我们换个思路,先来看看哪些使用小型道路的矩形网格,其密度至少能达到最佳正方形网格的水平(75%,橙色标注),或者能达到80%(紫色标注)。

在图表中,你可以看到两个橙色区域在角落处相接的128×128米的最佳正方形区域。由于图表是对称的,我将顶部部分裁掉,因为它是多余的。橙色区域的西南边界由方程(x-64)(y-64)=3×32²确定,但不包括任何一边不大于128米的情况。 简单的结论是,112-128米乘以128米或更长的任何尺寸,效果至少与最佳正方形网格相当。而112×240米是(带有小路时)能达到80%密度的最小尺寸。 有趣的是,由于更深层次的分区网格,与《城市:天际线》相比,这里有了更多的自由度。如果网格的一边至少为128米(我们称之为a),那么从64×(a-16)÷(a-64)米到128米的任何尺寸,效果也至少与正方形网格相当。例如96×160米(即10×18个可分区单元格)与方形网格效果相当,80×256米(即8×30个可分区单元格)也是如此。尤其是后者可能过于紧凑,在交叉路口之间留出更多空间可能会更好,但如果你喜欢那种外观,这仍然可行。 那么,如果我们转而寻找具有特定宽高比≥1的最佳矩形网格呢?这样一来,ISO纸张爱好者可以使用√2,斐波那契爱好者可以使用φ,纽约风格爱好者可以使用3或更大的比例。 我们知道对于正方形(宽高比=1),我们应该得到128米的尺寸。但我们也知道,当宽高比趋近于无穷大时,我们应该得到112米的尺寸。我们该如何衔接这两种情况呢?经过一些计算得出公式:= 256/( + 1)。这次我把推导过程留给读者自行思考。作为基本的合理性检验,该公式给出了之前计算的正方形情况下的答案,因此看起来是合理的。但当→∞时,→0,所以这不可能是完整答案。 问题出在哪里呢?关键在于要注意得出该答案的公式是基于一个假设:≥≥112。 这意味着该公式仅在1≤≤⁹⁄₇时成立,这确实有很大的局限性。进一步将其限制为仅考虑8米倍数的区块大小(即“对齐分区单元格长度”),则只剩下: =1,区块大小为128×128米 =¹⁷⁄₁₅≈1.1333,区块大小为120×136米 =⁹⁄₇≈1.2857,区块大小为112×144米。最后这个结果与我们预期的大型区域112的答案一致,因此我们找到了一个连续(尽管只是分段可微)的答案。 或许这提供了一种合理的矩形选择方式:当使用小型道路时,112×144米是最优网格无空洞情况下最接近正方形的宽高比。其密度为16/21≈76.2%,略高于128×128米的75%密度。 正多边形 六边形是最佳图形。原因众多,其中蜂窝猜想证明了在将平面细分为等面积区域时,六边形的周长最小。不过这并非我们在此处真正尝试要做的——我们的道路并非无限狭窄,我们关注的也不完全是区域范围——但两者已经足够接近,所以我们确实应该尝试一下。

以六边形的边长进行计算有些不便。但如果换用内径来计算,我们会得到与之前相同的公式:密度 = (A(z) - A(h)) / A(x) z = x - W h = z - 2×D = x - W - 2×D(其中D是分区深度,这样就不用总写6×8米=48米了) 为什么这些公式对正方形也适用呢?因为正方形的边长等于其内径(可以把左侧边看作顶部到底部之间的内径)。 对于正方形,面积公式很简单,A(λ) = λ²。那对于更复杂的形状该如何计算呢?内径是内半径的两倍,而内半径可以推广为任意正多边形的边心距。查阅维基百科上的公式可知,A(λ) = ¼Nλ²tan(π/N)。但其中大部分是常数。重新整理后,得到A(λ) = (¼N×tan(π/N)) λ² = Cₙ λ²。那么这对整个公式有什么影响呢?

密度=(A(z)-A(h))/A(x) =(Cₙz²-Cₙh²)/(Cₙx²) =(Cₙ(z²-h²))/(Cₙx²) =(z²-h²)/x²

这可真方便!这意味着我们之前为正方形计算的区块大小,实际上也是任何正多边形内径的答案。(不过,能密铺平面的正多边形只有3种,所以这也没那么有用,但至少我们不用分别计算等边三角形和六边形了。) 我讨厌分区系统。 那么我们搞定了吗?遗憾的是还没有。我最希望《城市:天际线2》能修复的就是分区系统,希望它在曲线或非直角区域能不那么别扭。但并没有,我们还是摆脱不了小方块的束缚。

这是什么意思呢?在右侧你可以看到我用z=12个单元格制作的六边形。数学计算表明,A₆(12)=¼×6×tan(π/6)×12²=72√3≈124.7个单元格。但如果仔细数一数,实际得到的只有88个单元格。与数学计算结果相比,我们大约少了36.7个单元格。 不过这也说得通。这是一个六边形,分区深度也是6个单元格。如果我们假设在每条边两侧的每个层级上,由于取整会损失大约半个单元格(有时多些,有时少些),那么总共会损失约36个单元格。我们可以将其称为N×D×Z个单元格的面积:拐角数量乘以分区深度再乘以(一个新变量Z=8,代表)损失的分区单元格宽度。添加修正系数后得到: 密度 = (A(z) - A(h) - NDZ) / A(x) = (Cₙ z² - Cₙ h² - NDZ) / (Cₙ x²) = (z² - h² - NDZ/Cₙ) / x² = (z² - h² - NDZ/(¼N×tan(π/N))) / x² = (z² - h² - 4DZ/tan(π/N)) / x² = (4Dx - 4D² - 4DW - 4DZ/tan(π/N)) / x² = 4D (x - D - W - Zcot(π/N)) / x² 其最大值出现在x = 2(W + D + Zcot(π/N))处:与之前的答案相同,但增加了一个随边数增多而增大的额外修正系数。 对于道路较窄的六边形,得出x≈155.7,即边长约为89.9米。糟糕的分区网格意味着六边形不仅不是最佳选择,其密度甚至仅约为61.65%,比采用中等道路的正方形网格还要差。等边三角形因其拐角较少,搭配小型道路时表现更佳。计算得出x≈137.2,密度约为69.95%。但由于N为奇数,此处的x对绘制三角形并无帮助。更有用的参数是:内切圆半径为64加8除以根号3,约等于68.6;边长约为237.7;高度(即三角形网格中平行线之间的距离)为192加8倍根号3,约等于205.9。

略微向上取整边长和高度,就能得到一种可以一致绘制此类网格的实用方法。26×15是一个非常好的近似值:反正切(26/15)≈60.018°,因此它的精度至少比凭肉眼在屏幕上估算角度高出10倍。因此,如果你绘制一个30格(240米)的底边,然后在该底边的中点绘制26格(208米)的高度,就能得到一个实用且接近最优的三角形网格。 斜边的长度最终为√[(120米)²+(208米)²]=√(240²+8²)米≈240.133米。这个数值足够接近,可以在游戏中显示为240米,而且我认为在现实中也不会注意到一个方块偏差13厘米——0.056%的误差完全可以接受。大家喜欢我为第一款游戏写的内容,我感到很高兴。所以当新作推出并采用不同的分区深度时,我知道是时候重新探讨这个话题了。 在评论区告诉我你还想了解什么。我很期待尝试更多矩形网格,以及人字形布局等其他模式,看看新的小巷在实际中如何运作。希望等我再建几座城市后,能在这里增加更多内容。
2026-02-19 16:00:04 发布在
城市:天际线II
说点好听的...
收藏
0
0
