Практическая инженерия: эффективные сети
GHub Platform · Гайд · 0 ответов · 5 просмотров

Как вы думаете, в какой из двух квадратных сеток ниже больше ячеек зонирования? Каждый из них занимает одинаковую площадь: 1008 метров на каждый край, около 100 гектаров. Тот, что слева, выглядит очевидным выбором. Между дорогами остается ровно 12 ячеек зонирования по ширине — максимум, который вы можете получить, не оставляя зазоров. Это один из самых простых вариантов рисования с помощью инструмента «Дорога», поскольку вам просто нужно выровнять круги зонирования. Это даже самая большая ширина, которую вы можете получить в режиме параллельной дороги. Но если вы подсчитаете их все (или, как вы могли догадаться, прочитав мое руководство по оригинальным Cities Skylines), то в правом на самом деле будет больше ячеек зонирования, несмотря на большие дыры в середине каждого блока. Правый вариант дешевле строить и обслуживать, так как у него меньше проезжей части. Левый имеет 12²×9² = 11664 ячеек; правый имеет (16² - 4²) × 7² = 11760 ячеек. Можем ли мы добиться большего? Давайте посчитаем! (Спойлер: Да, можем.) Во-первых, давайте определим некоторые переменные: x — длина дороги на одной стороне квартала, как сообщает дорожный инструмент. z — длина зонируемого фасада. h — длина стороны ямы в середине зонирования. W — ширина используемой дороги. Отбросим в сторону педантическую математику: для простоты ниже предполагается, что x > z > h ≥ 0. Это можно исправить, используя такие вещи, как h = max(0, z - 96m), но у них больше нет непрерывной производной, что доставляет неудобства. В любом случае максимум, который мы ищем, находится в удобной части пространства параметров. Это неудивительно, поскольку z < 96 м просто означает более высокое соотношение дороги к зонированию без каких-либо компенсирующих бонусов в других местах. Используя это, зонируемая площадь в каждом блоке равна пространству внутри блока (z²) минус часть, расположенная слишком далеко от дорог (h²). Но оба они напрямую связаны с длиной квартала, поскольку фасад — это размер квартала минус ширина дороги (z = x — W), и, соответственно, яма — это фасад минус дальность зонирования (h = z — 2 × 6 x 8 м = x — W — 96 м). Плотность, которую мы пытаемся оптимизировать, равна (z² - h²) / x² = ((x - W)² - (x - W - 96)²) / x² = 192×(x - W + 48) / x². Как нам ее максимизировать? Исчисление! Максимум — это то, где производная равна нулю: 0 = d/dx 192×(x — W + 48 м) / x² 0 = d/dx (x — W + 48 м) / x² 0 = (2W — x + 96) / x³ 0 = 2W — x + 96 x = 2W + 96 м. Подстановка этого ответа в предыдущую формулу для отверстия интересно упрощается: h = x — W — 96м h = 2W + 96м - W - 96м h = (2W - W) + (96m - 96m) h = W Другими словами, чтобы создать оптимальную квадратную сетку, оставьте в середине отверстие того же размера, что и дорога, по которой вы ездите. Давайте посмотрим, как это работает на небольшой дороге: Необходима дорога с плотностью размера блоков. В предыдущем разделе было много математики. Хотя это отлично подходит для поиска единственного лучшего ответа, может быть трудно получить из этого интуицию. Вот график результирующей плотности для квадратных сеток с использованием дорог 8 м (красный), 16 м (фиолетовый), 24 м (зеленый), 32 м (оранжевый) и 40 м (синий): Меня больше всего привлекает внимание то, какую плотность вы теряете из-за более широких дорог. Далеко от оптимального размера квартал с использованием более узкой дороги легко превзойдет оптимальный квадратный блок с более широкой дорогой. Вот диапазоны размеров блоков, в которых квадратная сетка даст вам определенную плотность целей: Целевая плотность Большие дороги Средние дороги Маленькие дороги Крошечные дороги К сожалению, прямоугольной сетки One True™ не существует. Использование все более и более длинных прямоугольников технически увеличивает плотность (асимптотически). Например, используя небольшие дороги, можно достичь плотности 85%, но для этого требуется сетка 112х1920 метров. Это блок длиной более 3 тайлов, что, по моему мнению, довольно много. Вместо этого давайте начнем с того, что посмотрим, какие прямоугольные сетки, использующие небольшие дороги, имеют плотность, по крайней мере, такую же, как лучшая квадратная сетка (75%, оранжевого цвета) или достигает 80% (фиолетового цвета). Вы можете увидеть оптимальный квадрат 128×128 м на графике, где две оранжевые области соприкасаются в углу. А график симметричный, поэтому верхушку я отрезал за ненадобностью. ЮЗ-граница оранжевой области находится по координате (x-64)(y-64)=3*32², за исключением участка, где ни одна из сторон не превышает 128 м. Простое наблюдение здесь заключается в том, что 112–128 метров на расстояние 128 метров и более по крайней мере так же хороши, как и оптимальная квадратная сетка. А 112х240 метров — это самый маленький размер (при небольших дорогах), дающий плотность 80%. Интересно, что здесь гораздо больше свободы, чем было в CSⅠ, благодаря более глубокой сетке зонирования. Если одна сторона сетки составляет не менее 128 метров (назовем ее 𝑥), то любые размеры от 64 × (𝑥-16) ÷ (𝑥-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 метра — это максимально квадратное соотношение сторон, при котором оптимальная сетка не имеет отверстий при использовании небольших дорог. Это дает плотность ¹⁶/⁄₂₁ ≈ 76,2%, что немного больше, чем плотность 75% для 128×128 метров. Шестиугольники — это Бестагоны. Среди многих других причин гипотеза о сотах доказала, что шестиугольники имеют наименьший периметр из всех подразделений плоскости на области равной площади. И хотя это не совсем то, что мы пытаемся сделать здесь — наши дороги не бесконечно узки, и это не совсем та территория, которая нас волнует — она достаточно близка, и кажется, что нам стоит попробовать это сделать. Выполнять расчеты в терминах длины стороны шестиугольника несколько неудобно. Но если вместо этого мы подумаем с точки зрения внутреннего диаметра, мы получим ту же формулу, что и раньше: плотность = (A(z) - A(h)) / A(x) z = x - Wh = z - 2×D = x – W – 2×D (где D — глубина зонирования, чтобы не писать так много 6 × 8 м = 48 м). Почему это сработало и для квадрата? Итак, длина стороны квадрата равна его диаметру. (Думайте о левой стороне как о внутреннем диаметре между верхом и низом.) Для
ИсточникGHub Platform · автор26.07.2026, 13:21:57
Как вы думаете, в какой из двух квадратных сеток ниже больше ячеек зонирования? Каждый из них занимает одинаковую площадь: 1008 метров на каждый край, около 100 гектаров. Тот, что слева, выглядит очевидным выбором. Между дорогами остается ровно 12 ячеек зонирования по ширине — ма…
Войдите, чтобы писать в группе