Инсоляционный массинг или как выращивать здания

Привет, Хабр!  

Это Артур Ишмаев, руководитель группы автоматизации проектирования в компании ПИК. Выполняя свои задачи, мы с командой придумали много необычных подходов, которые помогают генерировать застройку. 

Сегодня я хотел бы поделиться одним из методов, который мы придумали, реализуя градостроительный модуль платформы R2. Как мне кажется, этот подход довольно универсальный и имеет потенциал для творчества, несмотря на свою алгоритмичность. Но обо всем по порядку.

Вкратце о принципе работы

В основе большинства разработанных нашей командой подходов лежит принцип поэтапной адаптации объектов на базе существующих ограничений

Что это значит? Этот процесс похож на искусственное выращивание растения, только вместо ростка — дом. Например, мы постоянно проверяем, достаточно ли благоприятны условия для нашего «растения». Следим за тем, мешает ли наш объект окружающему пространству. А также постоянно его модернизируем и меняем размеры в зависимости от его состояния. Продолжаем этот процесс до тех пор, пока наш объект не достигнет тех показателей, которые нам требуются, или пока сдерживающие факторы не остановят процесс адаптации окончательно. 

Если нам нужно реализовать многоэтажный жилой дом на некой территории, то мы не ставим его на выбранное место сразу, установив ему нужную этажность и габариты. Вместо этого мы плавно увеличиваем его параметры и перемещаем так, чтобы все нормы и требования соблюдались. 

При этом проверок и требований достаточно много, и их не охватить одной статьей. Да и подходов к реализации адаптации объекта может быть много. 

Но сам принцип я бы хотел проиллюстрировать на одном из придуманных способов формирования застройки. Он не является полностью самостоятельным, так как учитывает лишь один тип ограничений (инсоляции), но хорошо иллюстрирует сам подход в целом. Называется метод инсоляционный массинг. Теперь подробнее о нем.

Метод инсоляционного массинга

С точки зрения градостроительных норм России инсоляция — это облучение поверхностей и пространств прямыми солнечными лучами (СанПиН 2.2.1/2.1.1.1076–01). Продолжительность инсоляции — законодательно закрепленный показатель, который играет одну из ключевых ролей при проектировании жилой застройки.

В контексте жилой застройки продолжительность инсоляции жилых помещений квартиры измеряется через остекление: оконные проёмы, остекление балконов, лоджий и т.д. О том, как проверяется инсоляция, можно написать отдельную статью. Главное, что нужно знать: инсоляция — это очень важный тип ограничения, который напрямую влияет на то, где и куда можно посадить жилой объект.

Для визуализации инсоляции будем использовать следующую цветовую диаграмму. В качестве примера рассмотрим среднюю широту и её нормы.

рис 1. Цветовая диаграмма визуализации результата расчёта инсоляции для центральной зоны.

рис 1. Цветовая диаграмма визуализации результата расчёта инсоляции для центральной зоны.

Как оценивать инсоляцию объектов?

На первый взгляд, результат оценки должен быть бинарный — либо инсоляция выполнена в пределах норм, либо нет. Но в процессе работы с разными источниками данных у нас возникают две категории объектов, которые необходимо оценивать:

  1. Здания, планировку которых мы знаем;

  2. Здания, о планировке которых мы не знаем.

рис 2. Жилые дома с планировкой и без.

рис 2. Жилые дома с планировкой и без.

Рассмотрим первую категорию зданий — здания со знакомой планировкой. В рамках нашей платформы к ней относятся секции повторного применения, школы и детские сады. 

Для таких зданий мы можем выносить однозначную оценку расчёта. На иллюстрациях подсветим красным цветом объекты, которые не проходят проверку инсоляции. Также визуализируем оценки каждой квартиры, комнаты и оконных проёмов.

рис 3. Оценка расчёта инсоляции объектов с планировочным решением.

рис 3. Оценка расчёта инсоляции объектов с планировочным решением.

рис 4. Оценка расчёта инсоляции объектов с планировочным решением.

рис 4. Оценка расчёта инсоляции объектов с планировочным решением.

Но что делать, если планировка нам неизвестна? На поиск и внесение в программу планировки уйдёт достаточно времени и сил. Это неоправданно, когда ты работаешь с большим количеством окружающей застройки в разных городах. Зданий может быть десятки, а то и сотни.

Таким образом, для зданий, чью планировку мы не знаем, оценка неоднозначна. Но мы можем пересмотреть процесс оценки этой категории зданий, не меняя принципа. Для расчёта воспользуемся понятием инсоляционный фронт — оценим условные окна, которые располагаются вдоль контура здания. Параметры фронта подбираются в зависимости от ситуации. Таким образом, мы можем зафиксировать текущую инсоляцию объекта.

рис 5. Инсоляционный фронт.

рис 5. Инсоляционный фронт.

рис 6. Визуализация расчёта инсоляции объектов без наличия планировочного решения.

рис 6. Визуализация расчёта инсоляции объектов без наличия планировочного решения.

Здесь мы сталкиваемся с другой проблемой — работает ли тот или иной фронт для объекта? Соответственно, мы не можем обозначить красным цветом здания, не прошедшие проверку инсоляции.

Чтобы решить эту проблему, применим другую бинарную оценку — ухудшилась инсоляция здания или нет. Мы можем применить этот приём, когда оцениваем инсоляцию объектов, которые уже построены. Потому что сам факт их существования в городе говорит о том, что экспертиза была пройдена. Ниже привёл пример.

рис 7. Исходный контекст со зданиями, первичная оценка инсоляции с помощью фронтов.

рис 7. Исходный контекст со зданиями, первичная оценка инсоляции с помощью фронтов.

рис 8. Размещаем объект в положение, где он не меняет категории оценки инсоляционных фронтов.

рис 8. Размещаем объект в положение, где он не меняет категории оценки инсоляционных фронтов.

рис 10. Размещаем объект в положение, где он меняет категории оценки инсоляционных фронтов одного из объектов.

рис 10. Размещаем объект в положение, где он меняет категории оценки инсоляционных фронтов одного из объектов.

Как видно на изображениях, я размещаю объект рандомно на пустое место без оценки его собственной инсоляции.

А теперь попробуем нарисовать участок внутри которого мы будем формировать объём. Разделим его на отдельные части и поочередно будем увеличивать высоту объёма внутри каждого сегмента участка.

рис 11. Участок, который мы будем наполнять объёмом.

рис 11. Участок, который мы будем наполнять объёмом.

рис 12. Деление участка на ячейки.

рис 12. Деление участка на ячейки.

Начнём внутри каждой ячейки создавать здания и увеличивать их этажность до тех пор, пока инсоляция окружения не начнёт меняться. Процесс увеличения этажности/высоты можно назвать ростом.

рис 13. Рост ячеек на один этаж.

рис 13. Рост ячеек на один этаж.

рис 14. Рост ячеек на два этажа.

рис 14. Рост ячеек на два этажа.

И вот наступает момент, когда смена высоты одной ячейки нарушает инсоляцию, и мы возвращаем ей предыдущую высоту и замораживаем её рост.

рис 15. Первое нарушение инсоляции окружения.

рис 15. Первое нарушение инсоляции окружения.

рис 16.Возврат к предыдущей этажности и заморозка роста ячейки.

рис 16.Возврат к предыдущей этажности и заморозка роста ячейки.

Продолжим до тех пор, пока не остановится рост всех ячеек. При этом за дополнительное ограничение примем максимальную возможную этажность нашего объёма — 22 этажа.

рис 17. Результат выращивания участка. Синим обозначена ячейка, которая не нарушила инсоляции окружения и достигла максимальной этажности.

рис 17. Результат выращивания участка. Синим обозначена ячейка, которая не нарушила инсоляции окружения и достигла максимальной этажности.

В результате до максимальной высоты доросла только одна ячейка, а все остальные в процессе нарушили инсоляцию каких-либо объектов. 

Какие есть нюансы:

  • на результат влияет очередность роста ячеек, можно получать разные объёмы;

  • мы не учитываем собственную инсоляцию объёма;

  • участок можно делить на ячейки как угодно;

  • инсоляционный фронт — это лишь попытка универсализировать оценку инсоляции любого объекта.

Можно по-разному экспериментировать с разбиением участка на ячейки и ростом. Результат роста участка мы назвали инсоляционный массинг. Он также может отличаться.

рис 18. Результат выращивания участка. Метод разбиения на основе диаграммы Вороного.

рис 18. Результат выращивания участка. Метод разбиения на основе диаграммы Вороного.

Вот ещё несколько примеров выращивания инсоляционного массинга на других участках.

рис 19. Инсоляционный массинг.

рис 19. Инсоляционный массинг.

рис 20. Инсоляционный массинг.

рис 20. Инсоляционный массинг.

Разбиение на ячейки может быть сложнее. Например, оно может иметь форму кварталов. Для того, чтобы учесть собственную инсоляцию инсоляционного массинга, можно принять состояние ячеек в момент, когда их этажность равнялась единице.

рис 21. Инсоляционный массинг в виде зданий с проверкой собственной инсоляции.

рис 21. Инсоляционный массинг в виде зданий с проверкой собственной инсоляции.

рис 22. Инсоляционный массинг в виде зданий с проверкой собственной инсоляции.

рис 22. Инсоляционный массинг в виде зданий с проверкой собственной инсоляции.

Вывод

Таким образом, данный подход можно дополнять другими ограничениями. Это может давать большую вариативность результата.

Реализация инсоляционного массинга иллюстрирует, как алгоритмический приём позволяет формировать застройку в первом приближении, при этом оставляя пространство для творчества. А творчество — очень важно в архитектурном проектировании, даже несмотря на необходимость автоматизации.

P.S. Если вы хотите обсудить данный подход, то можете написать автору статьи — ishmaevar@pik.ru

© Habrahabr.ru